Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.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
Javascript JSONP回调函数工作不正常_Javascript_Jquery_Json_Jsonp - Fatal编程技术网

Javascript JSONP回调函数工作不正常

Javascript JSONP回调函数工作不正常,javascript,jquery,json,jsonp,Javascript,Jquery,Json,Jsonp,我有jsonp回调函数。来自服务器的响应未定义。我不知道问题出在哪里。我已经为jsonp制作了RND。我是邮寄代码 $.ajax({ url : 'http://192.168.16.111:8081/MiddleWareUsman/androidServlet', type: "GET", dataType: "jsonp", crossDomain: true, async: fal

我有jsonp回调函数。来自服务器的响应未定义。我不知道问题出在哪里。我已经为jsonp制作了RND。我是邮寄代码

$.ajax({
         url : 'http://192.168.16.111:8081/MiddleWareUsman/androidServlet', 
         type: "GET",
         dataType: "jsonp",         
         crossDomain: true,
         async: false,
         data : {"fname": "chaaaaapiio","lname": "gya"},            
         jsonpCallback:  function(data, status){
            alert('callback');
            alert(data);
         },            
         success: function(data, status){
            alert('sucess');
         },
     error : function(xhr, ajaxOptions, thrownError) {          
         alert(thrownError);                        
         }
  });
Servlet代码是

        String a=request.getParameter("fname");
        String b=request.getParameter("lname");
        String cb=request.getParameter("callback");     
        response.getWriter().write(cb+"("+a+" "+b+")");

首先,当您想要覆盖默认函数名时,将使用
jsonpCallback
。如果为其分配函数,则该函数的返回值应为名称。给它一个返回
未定义的
的函数只会破坏一切

从对象中删除
jsonpCallback
属性
。在
success
中处理事情

其次,servlet代码将生成:

jQueryCallback23235(chaaaaapiio gya)
这不是有效的JavaScript。您需要有一个真正的JavaScript数据结构作为函数参数

通常,JSONP响应将由一个对象文本组成:

jQueryCallback23235({ "something": "chaaaaapiio", "something": "gya")

找到用于生成JSON的Java库并使用该库生成参数的内容,不要尝试手动编写JSON。

是否调用了“成功”或“错误”回调?我从未听说过
jsonpCallback
是一个可以像您一样使用的选项。请注意,JSONP请求不能同步发生;因此,您的
async:false
参数没有实际意义(根据文档);警报(数据);这些都被调用了,错误体也是,但没有安全体我不明白你的意思。你能在代码中指定吗。。我已经研究了很多,但是再次调用错误,againi没有得到servlet方面的信息。我应该如何更改它?首先查找用于生成JSON的Java库。如果我删除这行jsonpCallback:'jsonpCallback'我得到错误Jquery没有被调用