相关疑难解决方法(0)

jQuery不会从AJAX查询中解析我的JSON

我使用jQuery.ajax()解析从我的服务器返回的一些JSON数据时遇到困难

要执行我正在使用的AJAX:

$.ajax({
  url: myUrl,
  cache: false,
  dataType: "json",
  success: function(data){
    ...
  },
  error: function(e, xhr){
    ...
  }
});  
Run Code Online (Sandbox Code Playgroud)

如果我返回一个项目数组,那么它工作正常:

[ { title: "One", key: "1" }, { title: "Two", key: "2" } ]
Run Code Online (Sandbox Code Playgroud)

调用success函数并接收正确的对象.

但是,当我尝试返回单个对象时:

{ title: "One", key: "1" } 
Run Code Online (Sandbox Code Playgroud)

调用错误函数,xhr包含'parsererror'.我已经尝试将JSON包装在服务器上的括号中,然后再将其发送到网络中,但它没有任何区别.然而,如果我将内容粘贴到Javascript中的字符串中然后使用eval()函数,它会完美地评估它.

我有什么想法我做错了吗?

安东尼

ajax jquery json

87
推荐指数
6
解决办法
20万
查看次数

jQuery JSON响应总是触发ParseError

我试图用jQuery和JSON预先形成一些基本操作.目前在jQuery接受来自我的播放框架应用程序的JSON响应时遇到困难.下面是仍然产生错误的代码的简化版本.

$.ajax({
    type: 'POST',
    url: "@{FrontEnd.isUsernameAvailable()}",
    data: "name=thisnameisavailable",
    cache: false,
    success: function(data) {
        console.log("Success... ");
    },
    error: function(jqXHR, textStatus, errorThrown) {
        console.log("Error... " + textStatus + "        " + errorThrown);
    },
    dataType: 'json'
});
Run Code Online (Sandbox Code Playgroud)

始终触发错误回调.它显示

错误... parsererror jQuery15001997238997904205_1298484897373未被调用

通过Firebug检查返回的JSON显示没有错误,各种JSON lint工具也验证.将dataType更改为"text"会调用成功.但我试图使用isUsernameAvailable调用作为jQuery验证插件的一部分,所以我需要它来返回有效的JSON.

jquery json playframework

34
推荐指数
2
解决办法
6万
查看次数

组合的错误:jQuery 1.4,ajax/json,Firebug Lite和IE 8

我刚刚得出结论,无论我怎么做,jQuery的ajax调用都无法在IE 8中使用JSON数据.我发现我可以使用jQuery 1.3.2库来修复这个问题,但1.4根本就不会用JSON ajax请求来玩.即使返回的JSON数据非常简单,也不存在格式无效的问题.例如:

{"x":"a"}
Run Code Online (Sandbox Code Playgroud)

这与我是否使用Java servlet返回JSON数据或简单的固定文本文件无关.无论dataType还是contentType.无论GET还是POST.无论我使用$ .ajax还是$ .getJSON.这一切都适用于Firefox 3.6.

然后我突然意识到要参考Firebug Lite和IT WORKED!突然间问题消失了.无论是在响应中(在servlet中)修改contentType,还是在请求中指定的dataType,它都可以工作.

如果我再次链接到Firebug Lite,问题就会返回...即使我的代码从未实际使用它.

有没有人见过这种行为,有没有人有修复或解决方法?我不想再停止使用Firebug Lite了.感谢您的任何见解.同样,只有在组合jQuery 1.4,Firebug Lite,JSON数据和IE 8时才会出现问题.

这是对servlet的ajax调用,如果重要的话:

$.ajax({
 cache: false,
 url:"http://localhost:8080/Performance_Reporting/TestServlet",
 type:"GET",
 contentType: "application/json",
 dataType: "json",
 timeout:30000,
 success: function(d, status, req)
 {
  $("#result").text(d.x);
 },
 error: function(req, status, err)
 {
  $("#result").text(req.responseText);
 }
})
Run Code Online (Sandbox Code Playgroud)

jquery firebug internet-explorer json

6
推荐指数
1
解决办法
1323
查看次数

AJAX - JQuery GET回调不起作用,但JSON文件访问正常

我的代码看起来像这样:

$.get('http://files.mysite.com/data.json', function(data) {
    console.log(data);
}, "jsonp");
Run Code Online (Sandbox Code Playgroud)

当我Network从Firebug查看菜单内部时,我可以看到对我的JSON文件的有效调用,当我打开它时,它会获得所有信息.

但是Console保持沉默.没有AJAX电话的迹象,也没有我的记录data.

我的AJAX呼叫与我的JSON文件不在同一个域中.这就是我使用的原因jsonp

有任何想法吗??

ajax jquery json get

6
推荐指数
1
解决办法
6495
查看次数

ajax发布错误:NETWORK_ERR:XMLHttpRequest异常101

我有以下ajax帖子:

$.ajax( {
    type: "POST",
    url: "http://192.168.7.9/api",
    dataType: 'json',
    data: { username: "john.doe", password: "123456", method: "search_samples" },
    success: function ( data ) {
       // Never get here
    },
    error: function ( XMLHttpRequest, textStatus, errorThrown ) {
        // Always here: if async true, errorThrown has no message
        // otherwise I se the NETWORK_ERR message
    }
} );
Run Code Online (Sandbox Code Playgroud)

它返回此错误:NETWORK_ERR:XMLHttpRequest异常101.

我已经阅读了一些关于此错误的SO帖子,大多数建议我将async设置为true.这会删除错误消息 - 但它仍然是一个错误,我从来没有得到有效的数据.它似乎删除了没有帮助的错误消息.

在小提琴手中,在同样的开发机器上,这完美地运作 - 这是一个问题吗?原产地问题?我的语法有问题吗?

ajax jquery http-post

5
推荐指数
1
解决办法
8753
查看次数