Javascript ajax无法使用头参数

Javascript ajax无法使用头参数,javascript,jquery,ajax,session,get,Javascript,Jquery,Ajax,Session,Get,首先,我必须说我对AJAX是新手。所以这个问题对大多数人来说都是愚蠢的 但是我真的很感激在这方面的任何帮助 我一直在尝试添加makeajaxget请求,并在报头中传递一些由于某种原因失败的参数。 我知道这是一个非常基本的问题,但在过去的4个小时里,我一直在寻找解决方案,但找不到正确的解决方案 function resetSession() { $.ajax({ dataType: "text", beforeS

首先,我必须说我对AJAX是新手。所以这个问题对大多数人来说都是愚蠢的 但是我真的很感激在这方面的任何帮助 我一直在尝试添加makeajaxget请求,并在报头中传递一些由于某种原因失败的参数。 我知道这是一个非常基本的问题,但在过去的4个小时里,我一直在寻找解决方案,但找不到正确的解决方案

function resetSession() {

            $.ajax({

               dataType: "text",
              beforeSend: function (request)
             {
                  request.setRequestHeader("sessionVariable", sessionVariable);
             },
            url: "/reset.php",
            type: "GET",

           success: function(data) {
                 alert("yes");
               },
            error: function(data){
                 alert("no");


              } 
            });



          }
我看不出这段代码有任何问题,我确实找了另一段代码为我修复,但找不到 每次调用函数时,请求URL都是正确的,但请求方法是选项

期待一个简单的解决方案 提前谢谢我也有同样的问题。我想他们还没有把它盖好

您的浏览器正在发送一个
OPTIONS
请求,以确定服务器是否接受您的请求()。(如果你感兴趣,请阅读整篇文章)。服务器可能会拒绝更改标头的请求<代码>推荐人标题不能更改

尝试发送普通ajax:

var req = new XMLHttpRequest();
req.open("GET", "/reset.php");
req.onload = function() {
      console.log("SUCESS:", this.responseText);
}
req.onerror = function() {
      console.log("FAILURE:", this.status);
}
req.setRequestHeader("sessionVariable", sessionVariable);
req.send(null);

我不确定jQuery
dataType
属性应该做什么。但是,既然你没有发送任何东西,那可能没什么关系。

@DanielA.White你介意再解释一点还是一个明确的答案吗?我已经在写一个答案了:p同时谷歌CORS。谢谢@TomášZato等待that@Gotham“在这儿。告诉我正常请求是否有效或失败。在这种情况下,您可能根本无法发送它(除非您控制服务器)。@TomášZato正常请求正在工作,但在这种情况下,如何向标头添加参数?我将使用“request.setRequestHeader”(“sessionVariable”,sessionVariable);“我如何将其集成?添加,抱歉。在这里。浏览器可能没有以这种方式实现所有功能。我知道您的解决方案是可行的,但更改服务器代码以对选项请求做出正确响应不是更正确吗,即
访问控制允许标头:x-request-with
?@bvx89我的解决方案不是通过传递CORS,而是合法的请求-不是黑客。但是谢谢你的评论。这解释了很多。但服务器必须明确地允许这个在互联网上如此普遍的头,这不是很有趣吗?你真的认为仅仅因为这个还有一个沟通步骤是正确的吗?我说不出来。如果你有它在网上,我可以看看,并添加任何我发现我的答案。你读过关于CORS的文章吗?你知道自己在做什么真的很重要。