Ajax的注意事项
case 1:
无论是使用原生的JavaScript,还是JQuery,通过Ajax请求后端程序数据,返回的数据默认是字符串,字符串,字符串,重要的事情说三遍!!!
case 2:
不要尝试直接将返回的值和一个数字进行比较,也不要直接作为if或者while的条件,因为字符串作为条件始终为真,即使是“0”,是会认为是true;其次,数字0和字符串“0”始终不相等,要进行比较的话,应该先使用parseInt(res)将string的res转换为int。
case 3:
后端程序中,要返回给ajax的数据应该使用echo,print,print_r,var_dump等将数据输出,是将数据输出,输出,不要使用return 返回数据,重要的事情说三遍!!!如果是数组或者对象,则先将对象或者数组序列化为json格式的字符串,再echo。。后端程序中输出什么数据,ajax获得的就是什么数据,如果使用return,那么ajax什么都获取不,即使打印变量,也是一个undefined。
以下的做法是错误的:假设ajax请求index.php,需要获得一个flag标志,但是index.php是return一个flag,于是ajax获得的是一个空字符串,而不是flag!!!!!
<?php
$flag = "true";
return $flag;
?>
case 4:
后端程序也许只输出了一个字符,但是,ajax收到的数据可不止一个字符,还包含很多空格,所以要使用res.trim()来清楚空格。
case 5:
在使用ajax来请求时,XMLHttpRequest的open(method,url,async)方法中:
如果选择异步方式即Async为true(推荐的),那么XMLHttpRequest对象的readyState每次发生变化,都会触发onreadystatechange事件,可以通过readyState和status的值来判断进行到哪一阶段,结果如何。
如果选择同步方式即Async为false(不推荐),那么就不用为onreadystatechange事件绑定什么处理函数,因为只有当成功或者获得结果的时候才会进行下一步操作,此时readyState必定为4。
Ajax的注意事项的更多相关文章
- jquery的ajax及注意事项
1.引jquery包(jquery-1.8.0.min.js) <script type="text/javascript"> $(function () { //根据 ...
- FormData的Ajax提交注意事项
Ajax提交表单一般有下面两种形式: var form_data = $('#form').serialize(); var form_data = new FormData($('#form')[0 ...
- jquery ajax api
执行一个异步的HTTP(Ajax)的请求. version added: 1.5jQuery.ajax( url, [ settings ] ) url一个用来包含发送请求的URL字符串. setti ...
- JQuery中Ajax详细参数使用案例
JQuery中Ajax详细参数使用案例 参考文档:http://www.jb51.net/shouce/jquery1.82/ 参考文档:http://jquery.cuishifeng.cn/jQu ...
- AJAX的学习与使用>前端技术系列
目录 AJAX的学习与使用 什么是AJAX 为什么要使用AJAX AJAX接收服务器响应数据的3种格式 文本格式(重要) JSON格式(重要) 服务器端响应实体类JSON格式的3种方式 修改实体类的t ...
- springMVC中ajax的运用于注意事项
ajax的运用: 注意事项: dataType:"json"在ajax中可写可不写(ajax能够自动识别返回值类型),写了更加规范,可以在ajax识别错误返回值类型的时候,指定返回 ...
- java 中使用ajax调用后台方法注意事项
java 中使用ajax调用后台方法注意事项,后台方法一定要加@ResponseBody jQuery.validator.addMethod("checkRuleName",fu ...
- Hbuilder用ajax连接阿里服务器上的servlet以及注意事项
Hbuiler连接服务器上的servlet的步骤与连接本地项目中的servlet基本一致,详细内容参考上一片博客:https://www.cnblogs.com/ljysy/p/10294640.ht ...
- 【ajax 提交表单】多种方式的注意事项
在业务中,可能因为表单内容过于庞大,字段过于繁杂,如果人为去拼接的话 ,需要耗费大量的时间和精力,与此同时,代码看上去也是冗余不堪. 所以,提交表单的时候如果能整个表单数据整体提交,那是非常开心的事情 ...
随机推荐
- Linter pylint is not installed
问题 Linter 'pylint' is not installed. Please install it or select another linter". Error: Module ...
- A - Dogs and Cages HDU - 6243(组合数学)
题意:在1—n的数字,放入编号为1—n的框中,每个框只放一个数字,问数字与所放的框的编号不同的个数的期望值. 思路:在1—n中任选一个数字,设为k 那么 k 排到非k编号的框中的方案数为 n!-(n- ...
- nodejs stream 手册学习
nodejs stream 手册 https://github.com/jabez128/stream-handbook 在node中,流可以帮助我们将事情的重点分为几份,因为使用流可以帮助我们将实现 ...
- Electron 发生错误 "Cannot find module app"的解决方案
运行一个electron小demo出现的一个错误信息:Cannot find module app 原代码如下所示: var app = require('app'); var BrowserWind ...
- Jmeter之mysql性能测试
Jmeter官网地址:https://jmeter.apache.org/ 作为开发人员,必要的性能测试还是需要掌握的,虽然配置druid可以比较直观获得sql的执行时间,那些表被访问的比较多等等,但 ...
- csvwrite
https://ww2.mathworks.cn/help/matlab/ref/csvwrite.html
- VMware虚拟机将英文改成中文的方法
由于之前安装的虚拟机和老师要求的不同,我安装的是VMware,所以没有安装教程,没能修改系统语言,用了几次发现英文的不太方便,特别是出错的时候,看不懂系统的出错提示. 我从网上参考了https://b ...
- nodeJS---URL相关模块用法(url和querystring)
nodeJS---URL相关模块用法(url和querystring) 一: URL模块: URL模块用于解析和处理URL的字符串,提供了如下三个方法: 1. parse 2. format 3. r ...
- AI 线性代数
1.标量.向量.矩阵和张量 1)标量(scalar),一个数,例如自然数和实数. 2)向量(vector),一列有序数.可以看作只有一列的矩阵. 3)矩阵(matrix),二维数组.转置(transp ...
- 洛谷 P1525 关押罪犯
题目链接 https://www.luogu.org/problemnew/show/P1525 题目描述 S城现有两座监狱,一共关押着N名罪犯,编号分别为1−N.他们之间的关系自然也极不和谐.很多罪 ...