【问题标题】:Cross Domain Request display data results跨域请求显示数据结果
【发布时间】:2015-08-06 10:16:23
【问题描述】:

我在这里有 WordPress 的测试代码。

jQuery(document).ready(function($) {
var link = 'http://000.00.00.00/cgi-bin/test.cgi';
$("#sub").click(function() {
    $.ajax({
        type:'POST', 
        url: link,
        crossDomain: true,
        crossOrigin: true,
        headers: {
            'Accept': 'application/json',
            'Content-Type': 'text/html'
        },
        dataType: "json",
        success: function(data) {
            console.log(JSON.stringify(data));
        }, 
        error: function(e) {
            console.log("Error: " + e);
        },
    });
});

请求似乎很好,因为当我查看我的 chrome 网络时 > 标题选项卡状态代码正常,但问题是没有数据。我应该有这样的工作输出..

{ "loyalty" : { "status" : { "rows" : "1", "sql" : "success", "result" : "ok" }, "data" : [ { "card_number" : "1410104000350018" , "card_type" : "BEAUTY ADDICT" , "first_name" : "TINA" , "middle_initial" : "M" , "last_name" : "LIM" } ] } }

【问题讨论】:

    标签: javascript jquery ajax wordpress cross-domain


    【解决方案1】:

    您可以使用JSONP 从您的 javascript 主机以外的其他域获取数据,这有点像打击:

    $("#sub").click(function() { $.ajax({ url: link, dataType:'jsonp', jsonp:'callback', success: function(data) { console.log(JSON.stringify(data)); }, error: function(e) { console.log("Error: " + e); }, });

    因为JSONP 通过GET 传输数据,所以在您的服务器端代码中,您需要像这样从$_GET 检索数据(如果您使用PHP):

    $your_param = $_GET['your_param']; $callBack = $_GET['callback']; //do something .....and get $result echo($callBack . '(' .json_encode($result) . ')');

    【讨论】:

    • 您好,感谢您的快速响应。您能告诉我将您的代码放在 wordpress 中的哪个位置吗? $your_param = $_GET['your_param']; $callBack = $_GET['callback']; //做点什么.....然后得到$result echo($callBack . '(' .json_encode($result) . ')');
    • 对不起,我是 wordpress 的新手...我应该创建一个新的 php 文件吗?
    • 我没有用WordPress,所以不知道具体写PHP代码的地方,但是我觉得你的链接应该指向test.cgi以外的php文件,并且写服务器端该 php 文件中的代码。
    • 是的,你需要创建一个php文件
    • 实际上我无法访问那个 url。根据他们的说法,它是通过电子邮件发送给我的,我可以通过 JSON 或 HTTP 请求访问数据。现在我没有回复他们询问后。我尝试了 JSONP,它给了我一个查询字符串,比如......回调:jquery//和数字等......在我的错误函数中它给了我一个错误结果,说不能允许这样的请求......但是当使用 JSON错误函数给了我一个 [Object, object] 结果
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多