【问题标题】:Questions about JSONP关于 JSONP 的问题
【发布时间】:2013-08-23 03:14:06
【问题描述】:

有人能指出正确的方向吗?

示例网址: url.com/api/$order/config?fname=$fname&lname=$lname&serial_number=$sn

代码:

    var fullUrl = "[URLHERE.com]/api/$order/config?";
    $.ajax({
        url: fullUrl,
        contentType: "application/json",    
        dataType: "jsonp",
        type: 'GET',
        jsonp: '$callback',
        beforeSend: function setHeader(xhr) {
            xhr.setRequestHeader('Authorization', token);
        },
        success: callback,
        error: function (xhr, ajaxOptions, thrownError) {
            alert(thrownError);
        },
    }); 

问题:

“jsonp: '$callback'”这一行有什么作用?

如何检索 fname、lname 和 serial_number?

jsonp回调是否输出json数据文件?

【问题讨论】:

    标签: jquery json callback jsonp


    【解决方案1】:

    来自 jquery 文档http://api.jquery.com/jQuery.ajax/

    jsonp

    类型:字符串

    覆盖 jsonp 请求中的回调函数名称。在 url 中查询字符串的 callback=? 部分中,将使用此值而不是 callback。所以{jsonp:'onJSONPLoad'} 将导致onJSONPLoad=? 传递给服务器。从 jQuery 1.5 开始,将 jsonp 选项设置为 false 会阻止 jQuery 将 ?callback 字符串添加到 URL 或尝试使用 =? 进行转换。在这种情况下,您还应该明确设置jsonpCallback 设置。例如,{ jsonp: false, jsonpCallback: "callbackName" }

    所以jsonp: '$callback', 行将回调查询参数设置为 php var $callback

    成功函数是回调。在您的代码中查找并检索那里的值

    而且,是的,成功函数中的结果将是 JSON

    【讨论】:

    • 谢谢@barbara。你知道一旦我回调它,我该如何修改它吗?
    • 我不确定我是否理解您关于修改 json 的问题。您可以在成功函数中读取 json 并根据需要对其进行修改,但这不会将其发送回服务器,如果这是您所要求的。
    • 谢谢,我要做的是将数据附加到 json 并保存一个副本。
    猜你喜欢
    • 1970-01-01
    • 2013-09-12
    • 2015-06-16
    • 2011-03-08
    • 1970-01-01
    • 2021-05-09
    • 2011-10-14
    • 2013-04-29
    • 2012-08-14
    相关资源
    最近更新 更多