Javascript 为什么';我的PHP代码是否回显了$\u POST数据?
这里显示的XHR请求正在向process.php发送一个数组。数组只包含字符串,例如:[“hello”,“name']Javascript 为什么';我的PHP代码是否回显了$\u POST数据?,javascript,php,Javascript,Php,这里显示的XHR请求正在向process.php发送一个数组。数组只包含字符串,例如:[“hello”,“name'] var xmlHTTP; if (window.XMLHttpRequest) { xmlHTTP = new XMLHttpRequest(); } else { xmlHTTP = new ActiveXObject("Microsoft.XMLHTTP"); } xmlHTTP.onreadystatechange = function () {
var xmlHTTP;
if (window.XMLHttpRequest)
{
xmlHTTP = new XMLHttpRequest();
}
else
{
xmlHTTP = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlHTTP.onreadystatechange = function ()
{
if (xmlHTTP.readyState == 4 && xmlHTTP.status == 200)
{
alert(this.responseText);
}
}
var queryString = "";
for(var i = 0; i < all_data.length; i++)
{
queryString += "data"+i.toString()+"=" + all_data[i];
if(i < all_data.length - 1)
{
queryString += "&";
}
}
xmlHTTP.open("POST", "www.example.com/process.php", true);
xmlHTTP.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHTTP.send(queryString);
我在我的环境中运行了您的代码,它完全按照预期工作 我用
标记所涉及的javascript代码创建了index.html
文件,并用php代码创建了process.php
文件
我将所有数据设置为[“hello”,“name”]
因此,当在浏览器中打开index.html
时,XHR调用process.php
,并相应地返回“hello”(data0
)
可能您的错误是试图直接访问process.php
(不带po),而不是执行javascript代码。调用PHP时应使用javascript
希望我能帮到你。“当我访问www.example.com/process.php时”这是一个GET请求,而不是POST.hmm不知道你的意思。在我的PHP代码中,如果我输入
echo'hello'
并转到www.example.com/process.php,页面上写有hello。我只想要相同的东西,除了$u POST数据。GET请求中没有POST数据。请尝试下面的答案。谢谢这是一个GET请求。你不能直接访问链接,期望看到从一个完全不同的请求返回的数据。谢谢回答。我还可以在index.html
中看到正确返回的数据。我的问题是,我想在process.php
中查看数据。我不希望数据返回到index.html
页面。也许使用XHR请求不是正确的解决方案。我只想将一个数组从Javascript传递到PHP。让我看看我是否理解您的需要,以尝试提供帮助。您希望通过POST将数组从javascript传递到php,并在php端进行处理。但是在php处理之后,您想做什么呢?一个重要的细节。如果您从前端(javascript)调用后端(php),前端将等待响应以执行某些操作。这可以是向用户显示信息,或者执行操作,例如重定向到另一个php页面。根据您的需要,通过POST提交表单可能比发出Ajax/XHR请求更有趣。[]我感谢你的答复。我想做的是将数组从javascript传递到PHP,仅此而已。在使用JSON.stringify(all_data)
转换为JSON后,我最终使用一个表单将数组发送到我的PHP代码。我对所有这些都不熟悉,自然地认为,如果需要将数据从客户端发送到服务器端,我必须使用AJAX请求。不知道为什么人们对我的帖子投了反对票。我试图尽我最大的能力解释我想要发生什么,我期望什么和我得到什么。我很快对评论做出了回应,并试图把事情说得更清楚。不客气。我很抱歉延迟回复。我是stackoverflow新来的。。我认为人们对你的帖子投了否决票是不公平的,因为我认为怀疑就是怀疑,它们存在于各个层面。至于你的问题,我认为最好是通过POST
方法提交表单,使用`form.submit()或类似的东西,这样http请求甚至可以被发送,并且
process.php`可以接管并从那里做你想做的事情。。祝你好运非常感谢你。我就是这么做的。成功了!我不熟悉堆栈溢出,也不熟悉编程。
<?php
echo $_POST["data0"];
?>