使用jsonp的jQuery跨域get请求

使用jsonp的jQuery跨域get请求,jquery,ajax,api,cross-domain,jsonp,Jquery,Ajax,Api,Cross Domain,Jsonp,我在获取跨域请求以使用jQuery时遇到问题,似乎无法了解发生了什么。基本上,我正在尝试查询Solr服务器,但没有调用success或error函数。在Chrome的Javascript控制台中,我没有收到任何类型的错误。此外,当我只在url栏中键入“mysolrserver/?wt=json&q=title:uw”时,我会得到一个json格式的字符串 我用“mysolrserver”替换了我的ip。 提前谢谢你 我的javascript文件: "use strict"; (function()

我在获取跨域请求以使用jQuery时遇到问题,似乎无法了解发生了什么。基本上,我正在尝试查询Solr服务器,但没有调用success或error函数。在Chrome的Javascript控制台中,我没有收到任何类型的错误。此外,当我只在url栏中键入“mysolrserver/?wt=json&q=title:uw”时,我会得到一个json格式的字符串

我用“mysolrserver”替换了我的ip。 提前谢谢你

我的javascript文件:

"use strict";
(function() {
    window.onload = function(){
        document.getElementById("search").onclick = request;
    }

    function request(){
        $.ajax('mysolrserver/?wt=json&q=title:uw', {
          dataType: 'jsonp',
          success: function(data){
            alert("Success");
          },
          error: function(error, data, type){
            alert(data + ": " + type + "."); //type isn't giving any response.
          }
        });
    }
})();
更新: 在我从服务器得到的json响应中,开头部分是这样的(我选择了“response”部分,因为它返回大量文本): {“responseHeader”:{“status”:0,“QTime”:2,“params”:{“q”:“title:uw”,“callback”:“jQ”‌​uery1102035263595171272755_1383771206800“,“_213771206801”,“wt:“json”}”,分别为‌​onse:'

所以我想你的意思是:
“回调”:“jQuery1102035263595171272755_1383771206800”

jQuery正在发送一个名为
回调
的参数中的函数名,它需要您的JSON服务在返回时调用该参数。Solr需要根据调用该参数。尝试这样添加:

    $.ajax('mysolrserver/?wt=json&q=title:uw', {
      jsonp: 'json.wrf',
      dataType: 'jsonp',
      success: function(data){
        alert("Success");
      },
      error: function(error, data, type){
        alert(data + ": " + type + "."); //type isn't giving any response.
      }
    });

jsonp响应格式必须是
jsonpcallback({})
where
jsonpcallback
是从客户端传递的回调函数的名称服务器期望的jsonpcallback参数名称是什么?请发布完整的json响应。它不是jsonp响应…如何?我如何做出jsonp响应?你的意思是像Dan在下面的回答中提到的那样吗?我试着用它作为my TA推荐了它,但没有任何区别。只是再次尝试以确保它,但仍然没有运气。如果您手动操作(在浏览器中转到
mysolrserver/?wt=json&json.wrf=callme&title:uw
),solr是否在函数调用中正确包装它发送的对象?如果没有,您将需要帮助,是的(因为我没有使用查询,所以需要0个文档):callme({“responseHeader”:{“status”:0,“QTime”:0,“params”:{“json.wrf”:“callme”,“wt”:“json”}},response:{“numFound”:0,“start”:0,“docs”:[]})