繁体   English   中英

使用jsonp跨域获取jQuery请求

[英]Cross domain get request with jQuery using jsonp

我在获取跨域请求以使用jQuery时遇到麻烦,而且似乎无法弄清楚发生了什么。 基本上,我正在尝试查询Solr服务器,而不会调用成功或错误功能。 在Chrome的Javascript控制台中,我没有出现任何错误。 另外,当我仅在网址栏中输入“ 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‌uery1102035263595175171272755_1383771206800”,“ _”:“ 1383771206801”,“ wt”:“ json”}},“ resp‌onse” :'

因此,我假设您的意思是:“回调”:“ jQuery1102035263595171272755_1383771206800”

jQuery在名为callback的参数中发送函数名称,返回时需要您的JSON服务调用。 根据Solr Wiki, Solr需要将此参数称为json.wrf 尝试将jsonp:选项添加到jQuery ajax调用中,如下所示:

    $.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.
      }
    });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM