ajax回调函数不执行
ajax回调函数不执行
一、$.post()格式如下:
$.post(url,data,success(data, textStatus, jqXHR),dataType)
参数描述
url
必需。规定把请求发送到哪个 URL。
data
可选。映射或字符串值。基本是json格式。
success(data, textStatus, jqXHR)
可选。请求成功时执行的回调函数。
dataType
可选。规定预期的服务器响应的数据类型。默认执行智能判断(xml、json、script 或 html)。
二、ajax回调函数不执行的常见原因
1、ajax请求的URL程序执行错误。
2、ajax传递给请求的URL参数有错误。
3、返回的结果有乱码。
4、返回的Json字符串不标准。$.post()方法在以json作为返回类型的时候,是严格要求使用json格式才可以进入回调的。
其中返回的Json字符串不标准 最为常见。
三、解决方法
检查返回的json字符串的格式是否是{"key1”: "value1”, "key2”: "value2”} 这样(或者是把{}中的双引号变成单引号),但是在C#代码部分却是需要在引号(“”)前加上转义字符(\)的。
例如:
result = "{result: 1}"; //错误
result = "{\"result\":1}"; //正确