【问题标题】:POSTing data to JSONP将数据发布到 JSONP
【发布时间】:2011-05-12 09:14:36
【问题描述】:

是否可以将数据 POST 到 JSONP?还是所有数据都必须作为 GET 请求在查询字符串中传递?任何示例代码。

谢谢

【问题讨论】:

  • 嗨阿布,JSONP 不能确实用于后期操作。在更大的范围内,它甚至不能用作可靠的技术,因为它基于 Javascript 发射,这被许多人视为安全威胁(一些托管商不允许您托管使用 JSONP 的 Web 服务)。只是出于好奇——你为什么需要 POST——你可以通过使用参数调用 get 来做一个“合乎逻辑”的帖子——比如说,我可以向 Db 添加东西并读回它的身份没问题。从 REST 意识形态的角度来看,这并不完全正确,但你知道..

标签: wcf jsonp http-post


【解决方案1】:

这是一个例子:

   $.ajax({
        url: ajaxUrl,
        dataType: 'jsonp',
        type: 'GET',
        cache: false,
        success: sCallbackFunction,
        error: eCallbackFunction,
        jsonpCallback: jsonpCallbackFunction,
        data: dataObject
    });

【讨论】:

    【解决方案2】:

    如果你使用 jQuery,试试 $.post()

    http://api.jquery.com/jQuery.post/

    编辑: 更详细的解决方案在这里:How to use getJSON, sending data with post method?

    【讨论】:

    • 来自该页面:“由于浏览器安全限制,大多数“Ajax”请求都受制于同源策略;该请求无法成功地从不同的域、子域或协议中检索数据。” POST 不能跨域工作。
    • 如果浏览器、框架、服务器等都支持 CORS,则 POST 可以跨域工作。
    【解决方案3】:

    不,您不能将数据发布到 JSONP。 JSONP 必须作为脚本标签“提交”,而脚本标签不能 POST 信息。

    希望这会有所帮助。

    【讨论】:

    • hmmm 你有如何提交jsonp的示例代码吗?
    猜你喜欢
    • 2011-02-11
    • 1970-01-01
    • 2013-01-02
    • 1970-01-01
    • 1970-01-01
    • 2018-11-27
    • 2013-09-26
    • 1970-01-01
    相关资源
    最近更新 更多