首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"jquery.jsonp.js“GET有效。POST PUT DELETE选项怎么样?

"jquery.jsonp.js“GET有效。POST PUT DELETE选项怎么样?
EN

Stack Overflow用户
提问于 2013-05-22 13:26:53
回答 1查看 4K关注 0票数 0

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

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

代码语言:javascript
复制
$(document).ready(function() {
    $.ajax({
    type: "GET",
    url: "http://myurl.com/webservice&callback=?",
    ...
});

只想引起人们对type: "GET",行的注意,使用$.ajax执行http PUT只需更改type: "PUT",

此代码示例来自JSON parsing from cross domain using jquery ajax

不使用$.ajax

使用google-code的jquery.jsonp https://github.com/jaubourg/jquery-jsonp

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

代码语言:javascript
复制
$.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以及源代码中都没有提到它。

更新

@ cross为什么会有一个黑客攻击(iframes / Proxy)来获取跨域的POST 2工作。Using PUT/POST/DELETE with JSONP and jQuery

@thefrontender链接的文章建议查看“跨域资源共享(CORS)”

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

同一篇文章还说,“您可以将JSON编码为URL参数,但这样想是您的耻辱。”在所有的历史中,羞耻从来没有阻止过任何人?简单,懒惰,在有限的情况下可以完成工作。

感谢大家的帮助..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-22 13:38:52

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

因此您通常只能执行GET请求。不能执行PUT请求。

在这篇文章中有更多细节:http://johnnywey.wordpress.com/2012/05/20/jsonp-how-does-it-work/

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16684090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档