繁体   English   中英

“jquery.jsonp.js”GET有效。 POST PUT DELETE OPTIONS怎么样?

[英]“jquery.jsonp.js” GET works. What about POST PUT DELETE OPTIONS?

除了GET(POST,PUT,OPTIONS,DELETE)之外的jsonp http方法

使用jquery内置的$ .ajax方法如下所示

$(document).ready(function() {
    $.ajax({
    type: "GET",
    url: "http://myurl.com/webservice&callback=?",
    ...
});

只想提请注意线型type: "GET",使用$ .ajax执行http PUT只需更改type: "PUT",

此代码示例来自使用jquery ajax从跨域进行JSON解析

不使用$ .ajax

使用谷歌代码的jquery.jsonp https://github.com/jaubourg/jquery-jsonp

以下是将jquery.jsonp.js与GET方法一起使用的示例

$.jsonp({
    cache: false,
    url: 'http://www.mydomain.com/logicalurl/2/',
    callbackParameter: 'callback',
    timeout: 10000,
    success: function(json, textStatus, xOptions) {
        myglob = json;
        MyModulePatternObject.initNew(json);
    },
    error: function (xOptions, textStatus) {
    console.log("fail");
    }
});

这非常有效。 如何做一个GET jsonp请求不是我的问题。

在$ .jsonp中,想要执行其他http方法:PUT POST DELETE OPTIONS ...? $ .jsonp是否支持type="PUT", ,?

在文档中根本没有提到它:API.md和TipsAndTricks.md也没有在源代码中提及。

UPDATE

@ohgodwhy有一个hack(iframes / Proxy)来获得POST 2工作跨域。 使用PUT / POST / DELETE与JSONP和jQuery

@thefrontender链接文章建议调查,“跨源资源共享(CORS)”

浏览器http://caniuse.com/cors支持CORS

同一篇文章还说,“你可以将JSON编码为一个URL参数,但是即使你这么想也会感到羞耻。” 在历史的所有历史中,羞耻从未阻止任何人? 简单,懒惰,在有限的情况下完成工作。

Thx 4每个人都帮忙......

JSON-P的工作原理是将脚本标记注入到文档中:它不是传统的XHR请求。

所以你通常只能执行GET请求。 您无法执行PUT请求。

本文的更多细节: http//johnnywey.wordpress.com/2012/05/20/jsonp-how-does-it-work/

暂无
暂无

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

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