$ .post显示在console.log()但没有访问我的php页面上的变量

我对jquery不熟悉。我的代码是

function edit(uID){ 

var php = "body/weekly_deals.php";

var data = {"edit" : "post is here"}

$.post(php, data,function(response){

console.log(response);

});

}

这是在WeeklyDeal.php上定义的。现在,在我的body/weekly_deals.php页面上,var_dump($ _ POST ['edit']),我得到NULL,但是在console.log中,我看到值“post is here”字符串?所以,我很困惑。它怎么会在那里,但不是在同一时间?

回答:

我怀疑你误解了这是如何工作的。

我的var_dump($ _ POST [ '编辑'])与我收到NULL

您措辞你的问题的方式,它听起来像你没有看到的是空在console.log(),这是什么发生,如果你有var_dump并用ajax调用它。相反,这听起来像是直接在浏览器中加载weekly_deals.php,并且由于这是一个GET请求,而不是POST请求,并且没有参数被传递,所以它会回到空。

然而,在执行console.log,我看到值“后在这里”串

权,因为JavaScript使用POST方法进行的HTTP请求,并传递参数。


我想你可能会对HTTP请求的工作方式感到困惑。要分解它,你有一个资源作为一个URI - 你知道这是网址。您可以用几种不同的方式提问 - GET,POST,PUT等。浏览器在浏览页面时向资源发出GET请求。 Web服务器返回响应并呈现它。

当您发出AJAX请求时,您所做的事情就请求生命周期而言非常相似。当您发出请求时,服务器呈现响应并将其发回。这就是为什么你的console.log()具有你期望看到的 - 因为AJAX提出了服务器端期望得到的请求。当您直接在浏览器中导航到页面时,这是错误的请求类型,因此您会看到错误的响应。

以上是 $ .post显示在console.log()但没有访问我的php页面上的变量 的全部内容, 来源链接: utcz.com/qa/257238.html

回到顶部