JQuery Ajax 调用在返回的 JSON 字符串中添加回调方法

标签 jquery ajax json

我使用 Jquery 进行 Ajax 调用,如下所示:

$.ajax({
           type:  "GET",
           url: webMethod,
           data: parameters,
           dataType: "jsonp",
           success: function(msg) {
              XXXX(msg.d);
           },
           error: function(e) {
         MessageBox("error","An error occured while fetching data.Please try again:<br>"+ e.statusText);
           }
       });

调用后,我收到 SyntaxError: Parse 错误消息:

使用验证器检查返回的 Jsonp 字符串,如果发现一些非常奇怪的东西。回调可以在字符串的开头和字符串内找到,例如

jQuery171011899920250289142_1333375884404({"d":{"__type":"WebServices.XXXXXXXX","Status":2,.....jQuery171011899920250289142_1333375884404("Description":"XXXXXXXXXXXXXXXXXX",......

注意,字符串内发现的非法回调方法字符串与json字符串外的非法回调方法字符串类似。 我正在使用jquery 1.7。行为与 1.4 中相同 是什么导致回调方法字符串嵌入到 JSON 字符串中?

最佳答案

JSONP 返回值的内容来自您的服务器。我建议您查看发送到服务器的完整 URL,并确保 URL 参数符合您的预期。然后,查看服务器是否正在执行其应有的操作。第一个包装返回 JSON 的 jQuery171011899920250289142_1333375884404() 预计用于 JSONP 响应。 JSONP 响应中的另一个必须由您的服务器放置在那里,因此这是要查看的地方。

关于JQuery Ajax 调用在返回的 JSON 字符串中添加回调方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9978599/

相关文章:

jquery - 如果没有可见的 sibling ,则隐藏

jquery - 为什么我在 Rails 中收到两次 JQuery 警报?

javascript - 在多页面网站上使用react

java - 安卓无法发送邮件

javascript - 使用tinySort限制Child div?

jquery - 我们能否强制 ZURB Foundation 4 仅使用 jQuery,而不使用 Zepto?

jQuery .ajax() 调用失败

ajax - Twitter-bootstrap 预输入重复

json - Rails3 : Take control over generated JSON (to_json with datamapper ORM)

javascript - Angular JS 在 django 中转换 2 个暗淡的 JSON