【问题标题】:jQuery POST request actually sends as GETjQuery POST 请求实际上作为 GET 发送
【发布时间】:2011-10-11 12:21:09
【问题描述】:

我正在尝试使用以下代码发送 POST 请求:

$.ajax({
    type: "post",
    url: 'http://api.com/'+apiUsername+'/'+apiBucket+'/elements/add',
    dataType: 'jsonp',
    contentType: "application/json",
    data: JSON.stringify({
        username: apiUsername,
        api_key: APIkey,
        elementPermalink: tURL
    }),
    success: function() {
        console.log('posted!');
    }
});

但是,这个总是作为 GET 请求而不是 POST 请求通过,因此 API 服务器会拒绝它。为什么 jQuery 坚持做这个 GET 请求?

(这是故意跨域的,但它是 JSONP,所以这不是问题。)

【问题讨论】:

    标签: jquery ajax post get


    【解决方案1】:

    JSONP 只是一个 GET,所以dataType: 'jsonp', 将永远是一个 get

    这样想 JSONP:

    <script src="http://url.com/?query=string"></script>
    

    由于jsonp是这样跨域的,所以只能是get请求。

    【讨论】:

      猜你喜欢
      • 2015-09-07
      • 1970-01-01
      • 2015-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多