Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php未从JavaScript接收post_Javascript_Php - Fatal编程技术网

Php未从JavaScript接收post

Php未从JavaScript接收post,javascript,php,Javascript,Php,我已经在我的站点的其他地方实现了相同的设置,但我不明白为什么这次它不起作用 当用户单击accept按钮时,它调用JavaScript函数acceptOrder(orderID),该函数将orderID传递到php页面以更新数据库中的记录 orderID在JavaScript中分配为ok,但它没有到达php。POST上的Var_dump没有显示任何内容,$_POST('orderID')也没有显示任何内容。我甚至尝试过只向php发送一个整数,以防var出现问题,但没有任何区别 Js Php 不

我已经在我的站点的其他地方实现了相同的设置,但我不明白为什么这次它不起作用

当用户单击accept按钮时,它调用JavaScript函数acceptOrder(orderID),该函数将orderID传递到php页面以更新数据库中的记录

orderID在JavaScript中分配为ok,但它没有到达php。POST上的Var_dump没有显示任何内容,$_POST('orderID')也没有显示任何内容。我甚至尝试过只向php发送一个整数,以防var出现问题,但没有任何区别

Js

Php


不用说,我已经四处搜索,在其他地方找不到任何解决方案


非常感谢

请更换此线路

xmlhttp=new ActiveXObject("Microsoft.    } 
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
按照这条路线走

xmlhttp=new ActiveXObject("Microsoft.    } 
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

请换这条线

xmlhttp=new ActiveXObject("Microsoft.    } 
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
按照这条路线走

xmlhttp=new ActiveXObject("Microsoft.    } 
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

你应该在你的js中写这个

function acceptOrder(orderID) {
var orderID=orderID;
console.log("assigned: "+orderID);
var xmlhttp;

// code for IE7+, Firefox, Chrome, Opera, Safari
if (window.XMLHttpRequest)
{
   xmlhttp=new XMLHttpRequest();
}
// code for IE6, IE5
else
{
   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
 }

xmlhttp.onreadystatechange=function()
{
   if (xmlhttp.readyState==4 && xmlhttp.status==200)
   {
      console.log (xmlhttp.responseText);
   }
}
xmlhttp.open("POST","acceptorder.php",true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-rule encoded");
xmlhttp.send(orderID);
console.log(orderID+" sent");
//location.reload();
//console.log("reload");
}

你应该在你的js中写这个

function acceptOrder(orderID) {
var orderID=orderID;
console.log("assigned: "+orderID);
var xmlhttp;

// code for IE7+, Firefox, Chrome, Opera, Safari
if (window.XMLHttpRequest)
{
   xmlhttp=new XMLHttpRequest();
}
// code for IE6, IE5
else
{
   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
 }

xmlhttp.onreadystatechange=function()
{
   if (xmlhttp.readyState==4 && xmlhttp.status==200)
   {
      console.log (xmlhttp.responseText);
   }
}
xmlhttp.open("POST","acceptorder.php",true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-rule encoded");
xmlhttp.send(orderID);
console.log(orderID+" sent");
//location.reload();
//console.log("reload");
}

我建议您在ajax调用中使用jQuery。它更容易设置,也更直观。特别是,特别是因为它对于初学者来说非常容易设置。对于那些希望以简单的方式安装ajax的人来说。每当我想在代码中使用ajax时,我都会使用它。以下是一个链接:

http://api.jquery.com/jquery.ajax/

只需将标记包含jQuery,然后使用一个javascript命令调用ajax。

我建议您使用jQuery进行ajax调用。它更容易设置,也更直观。特别是,特别是因为它对于初学者来说非常容易设置。对于那些希望以简单的方式安装ajax的人来说。每当我想在代码中使用ajax时,我都会使用它。以下是一个链接:

http://api.jquery.com/jquery.ajax/

只需将标记放入jQuery,然后使用一个javascript命令调用ajax。

正如我所见,您没有为orderID设置变量名,请更改代码行:

xmlhttp.send(orderID);
致:

若这只是缺少orderID的SQL错误,并且所有其他过程都是正确的,那个么这就是您的解决方案。正如您在评论中所说,“我只是得到一个sql错误,因为变量orderID是空的”。
您只缺少命名后发送数据,这就是为什么它是空的。

正如我所看到的,您没有为orderID设置变量名,更改代码行:

xmlhttp.send(orderID);
致:

若这只是缺少orderID的SQL错误,并且所有其他过程都是正确的,那个么这就是您的解决方案。正如您在评论中所说,“我只是得到一个sql错误,因为变量orderID是空的”。

您只丢失了命名后发送数据,这就是它为空的原因。

您有任何错误吗?我已从手机上发布了此消息,并删除了Microsoft周围的部分js,因此请忽略该位。@Happy编码无错误Application/x-www-form-rule encoded有问题。请尝试“application/x-www-form-urlencoded”请将这一行xmlhttp=new-ActiveXObject(“Microsoft.}”替换为下面这一行xmlhttp=new-ActiveXObject(“Microsoft.xmlhttp”);您有任何错误吗?我已从手机上发布了此消息,并删除了Microsoft周围的部分js,因此请忽略该部分。@Happy编码无错误application/x-www-form-rule encoded有问题。请尝试“application/x-www-form-urlencoded”请将这一行xmlhttp=new ActiveXObject(“Microsoft.}替换为以下这一行xmlhttp=new ActiveXObject(“Microsoft.XMLHTTP”);是的,我知道,这些是通过手机复制/粘贴时的拼写错误。它们在原始代码中都是正确的。是的,我知道,这些是通过手机复制/粘贴时的拼写错误。它们在原始代码中都是正确的。是的,我知道,这些是通过手机复制/粘贴时的拼写错误。它们在原始代码中都是正确的。你在干什么console@Shibon我只是sql错误,因为变量orderID为empty@Paul为什么订单id是空的?你能给我们一些更多的信息吗?参考这个是的,我知道,这些是通过手机复制/粘贴时的打字错误。它们在原始代码中都是正确的。你得到了什么console@Shibon我刚刚得到一个sql错误,因为变量orderID是empty@Paul为什么订单id是空的?你能给我们更多的信息吗?参考这个我想你是对的。这可能是我出错的地方。我回家后会试试这个。非常感谢。我想你是对的。这可能是我出错的地方。我回家后会试试这个。非常感谢