Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JQuery向服务器发送JSON,但在接收时抛出错误_Jquery_Playframework - Fatal编程技术网

使用JQuery向服务器发送JSON,但在接收时抛出错误

使用JQuery向服务器发送JSON,但在接收时抛出错误,jquery,playframework,Jquery,Playframework,我试图做的是使用jquery将JSON格式的数据发送到服务器并在服务器端接收。之后,解析它并使用数据,然后再次以json形式将响应返回给客户机。Im在服务器端使用Play(基于web的java框架)。这是我的密码: Tier.js var attribs={ id: document.forms["tier"]["id"].value , name: document.forms["tier"]["name"].value ,

我试图做的是使用jquery将JSON格式的数据发送到服务器并在服务器端接收。之后,解析它并使用数据,然后再次以json形式将响应返回给客户机。Im在服务器端使用Play(基于web的java框架)。这是我的密码:

Tier.js

var attribs={ 
                id: document.forms["tier"]["id"].value , 
                name: document.forms["tier"]["name"].value ,
                limits: document.forms["tier"]["limits"].value
                };

$.ajax({
        type:"get",
        url: "validateTier.json" ,
        dataType: "json",
        jsonp: 'callback',
        data: attribs,
        contentType: "application/json; charset=utf-8",
        beforeSend: function( xhr ) {
            xhr.overrideMimeType( 'application/json; charset=utf-8' );
          },
        error:function(x,e){
            if(x.status==0){
                alert('You are offline!!\n Please Check Your Network.');
                }else if(x.status==404){
                alert('Requested URL not found.');
                }else if(x.status==500){
                alert('Internel Server Error.');
                }else if(e=='parsererror'){
                alert('Error.\nParsing JSON Request failed.');
                }else if(e=='timeout'){
                alert('Request Time out.');
                }else {
                alert('Unknow Error.\n'+x.responseText);
                }
        },
        success: function(data) {
         alert(data.status);
        },

        }).done(function( msg ) {
              alert( "Data Saved: " + msg );
        }); // End ajax
在服务器端:

Map<String,Object> json = new HashMap<String,Object>();
        json.put("status", status);
        json.put("message", msg);
        renderJSON(json);
Map json=new HashMap();
json.put(“状态”,status);
json.put(“message”,msg);
renderJSON(json);
输出:

你离线了!!
请检查您的网络。

在我看来,您实际上并没有将数据作为JSON发送到服务器-您似乎只是将参数作为典型的名称/值对发送。如果您的服务器后端需要JSON,则可能是您的错误源。

请在jquery网站上查看此JSON相关信息。。。 也许得到错误会有帮助。。您的服务器端代码可能有一些错误

您是否已经检查了错误原因,因为您已经实现了这一点

检查此链接以了解您做错了什么


使用firebug跟踪准确的错误。。是否生成ajax请求。。可能json数据格式中有一些错误。。按照这个。。生成请求,并在服务器端接收所有参数。我正在处理所有信息,但当我将其发送回时,它显示错误。我正在向服务器发送数据,接收所有参数,但在jquery端接收时它会导致问题。服务器的响应方式如下:{“message”:“Value应该是一个数字”,“status”:“2”}。我认为这是jquery端的问题,因为它没有接收到它。这就是http响应代码?除非我弄错了,否则这是不可能的,因为0不是有效的响应代码(例如200、301、302、404等)。这不是你定义的一些代码吗?谢谢,我修好了。它实际上并没有向服务器发送数据。
0-xhr status ,is it initialized or not that means user is offline.