【问题标题】:Ajax PUT request executed as GETAjax PUT 请求作为 GET 执行
【发布时间】:2014-02-18 08:40:09
【问题描述】:

我正在尝试发出 ajax cross-origin PUT 请求:

$.ajax({
        url:url,
        data:jsonData,
        type: 'PUT',
        dataType:'jsonp',
        ...
       });

但它是作为 GET 发送的,并且失败了

“请求类型不正确。必须是 PUT。”

有什么帮助吗?

【问题讨论】:

    标签: jquery cross-domain put


    【解决方案1】:

    尝试添加

    contentType: 'application/json'
    

    【讨论】:

    • 如果将dataType:'jsonp' 更改为dataType:'json' 会怎样?
    • 跨域访问失败
    • 您是将 jsonData 作为对象还是作为字符串传递?确保你是这样做的:JSON.stringify(jsonData)
    • 感谢您的评论,但它仍然作为 GET 而不是 PUT 发送,这是主要问题
    • 刚刚发现 JSONP 不能发送 PUT 请求,只能发送 GET。看到这个link
    【解决方案2】:

    我觉得type应该写成type:'POST'或者type:'GET'

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-08
      • 2020-04-01
      • 2012-03-07
      • 1970-01-01
      • 2019-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多