当通过本地apache发送请求时,POST被转换为GET

POST gets converted to GET, when sending request via local apache

本文关键字:POST 转换 GET 请求 apache      更新时间:2023-09-26

我正试图用以下代码发送一个post请求。但是该请求是GET请求,而不是POST。如何解决此问题。

$.ajax({
    url: 'https://www.exampleurl.com',
    method: 'POST',
    headers: {"Access-Control-Allow-Origin": true},
    data: {url:'bla',call:"trans"}
    dataType: 'jsonp',
    success: function(data){
      console.log('succes: '+data);
    }
  });

这就是我遇到的错误XMLHttpRequest无法加载https://example.com.对飞行前请求的响应未通过访问控制检查:请求的资源上不存在"access control Allow Origin"标头。原点'http://localhost因此不允许访问。响应的HTTP状态代码为401。

删除标题Access Control Allow Origin时,我得到一个404错误

我不认为,您可以使用带有jsonp请求的POST方法。jsonp仅对具有GET方法的进行回调。看看链接。

当你想发送POST请求时,不必在url属性中传递参数,你应该使用data属性,看看jQuery.ajax():

$.ajax({
    url: 'https://www.exampleurl.com',
    method: 'POST',
    data: {q:1, q2:2},
    headers: {"Access-Control-Allow-Origin": true},
    dataType: 'jsonp',
    success: function(data){
      console.log('succes: '+data);
    }
});

希望这能有所帮助。