范培忠 2018-05-10
在使用jquery.ajax()调用后台方法时,如果后台返回的是一个纯字符串,此时ajax应设置dataType: “text”才可以。否则会报错。
若报错,如下:
{"readyState":4,"responseText":"adsfasdf","status":200,"statusText":"parsererror"}
会很奇怪对不对,status=200表明远端处理是成功的,问题出在前端解析上了。
dataType
的可设置范围如下:
- “xml”: 返回 XML 文档,可用 jQuery 处理。
- “html”: 返回纯文本 HTML 信息;包含的 script 标签会在插入 dom 时执行。
- “script”: 返回纯文本 JavaScript 代码。不会自动缓存结果。除非设置了 “cache” 参数。注意:在远程请求时(不在同一个域下),所有 POST 请求都将转为 GET 请求。(因为将使用 DOM 的 script标签来加载)
- “json”: 返回 JSON 数据 。
- “jsonp”: JSONP 格式。使用 JSONP 形式调用函数时,如 “myurl?callback=?” jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。
- “text”: 返回纯文本字符串
其实,不写这个参数,浏览器会自动判断,反而不会有问题。
版权声明:本文为fanpeizhong原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。