Javascript Echo发布Ajax数据
我正在使用AJAX将一些数组数据发布到服务器。通过Ajax请求,我在Firebug网络控制台中获得了以下预期结果Javascript Echo发布Ajax数据,javascript,php,jquery,ajax,request,Javascript,Php,Jquery,Ajax,Request,我正在使用AJAX将一些数组数据发布到服务器。通过Ajax请求,我在Firebug网络控制台中获得了以下预期结果 POST -----> http://example.com/drag_data.php //request header Host: example.com User-Agent: Mozilla/5.0 (Windows NT 10
POST -----> http://example.com/drag_data.php
//request header
Host: example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://example.com/drag.php
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Content-Length: 90
Cookie: PHPSESSID=b1lr9he4l2hbcnlkcsebfq2134
Connection: keep-alive
//data in the request body
item[]=1&item[]=3&item[]=2&item[]=4&item[]=5
//firebug params
item[]:"1"
item[]:"3"
item[]:"2"
item[]:"4"
item[]:"5"
对于infor,这是ajax调用,它给出了预期的成功消息(与firebug参数输出相同)
我只想回显drag_data.php脚本中发布的数据。我尝试了以下测试代码(以及(print_r和var_dump),但没有看到任何让我困惑的发布数据。有人能告诉我我做错了什么吗
drag_data.php test file
$i = 0;
//this loop is failing to echo the posted array data from the Ajax request
foreach ($_POST['item'] as $value) {
echo "each".$value;
$i++;
}
?>
url:'/drag_data.php'
,前面有斜杠,没有?
data:JSON.stringify(data)
,在服务器上生成JSON\u decode
url:'/drag_data.php'
,前面有斜杠,没有?
data:JSON.stringify(data)
,在服务器上生成JSON\u decode
终于破解了。原来Ajax调用的服务器端问题现在已经由服务提供商解决了。所以实际上我的原始代码工作正常。也许这个线程或代码将来会对其他人有用。终于破解了。原来是Ajax的服务器端问题现在已由服务提供商解决的调用。因此实际上,我的原始代码可以正常工作。也许此线程或代码将来会对其他人有用。打印($\U POST)的输出是什么?它是空的,这让我很困惑,因为我可以在firebug参数控制台中看到数据。你能在foreach循环之前使用var_dump($_请求)吗?我想看看它的输出——我刚刚在$I=0上方的代码中添加了var_dump($_请求);var_dump($_POST)。实际上,我已经尝试过了,除了空数组>>数组(0)之外,什么都没有显示出来{}数组(0){}.问题--可能很傻,但我快疯了--但我应该如何在浏览器中访问drag_data.php文件以查看输出。我仍在努力解决这个问题。我应该如何在浏览器中访问drag_data.php文件以查看php输出?这只是添加(drag_data.php)的一种情况吗浏览器中的url和发布的ajax数据应该可以通过drag_data.php脚本中的print_r或var_dump或echo看到?print_r($_POST)的输出是什么?它是空的,这让我完全困惑,因为我可以在firebug参数控制台中看到数据。您可以var_dump($_请求)吗在foreach循环之前?我想看看它的输出---我刚刚在$I=0上面的代码中添加了var_dump($_请求);var_dump($_POST)。实际上,我已经尝试过了,除了空数组>>数组(0){}数组(0){}之外,什么都没有显示出来.问题--可能很傻,但我快发疯了--但是我应该如何在浏览器中访问drag_data.php文件以查看输出。我仍在努力解决这个问题。我应该如何在浏览器中访问drag_data.php文件以查看php输出?这只是添加(drag_data.php)的一种情况吗浏览器中的url以及drag_data.php脚本中的print_r或var_dump或echo应该可以看到发布的ajax数据?在我将参数添加到url时?是一个剪切粘贴错误。抱歉。我确实尝试添加反斜杠,这导致成功消息失败。删除反斜杠导致成功消息正常工作。hmmm I a d我想知道这是否是服务器防火墙问题或类似的问题。我将尝试json,因为我在网站上成功执行了其他json响应。我将在该响应上发帖。我已将ajax调用更改为json…$.ajax({data:json.stringify(data),dataType:“json”,contentType:“application/json;charset=utf-8”,等等,我现在得到了json格式的firebug参数输出…一个长字符串。但是基于上面的内容,我不确定您建议我在服务器端做什么。我没有太多使用json。我尝试了$result=json\u decode($data);服务器端(带和不带true参数).基于客户端ajax设置,我不确定$data是否正确(如上所述)?在我将参数添加到url时,?是一个剪切粘贴错误。抱歉。我确实尝试添加反斜杠,但它导致成功消息失败。删除反斜杠导致成功消息正常工作。嗯,我确实想知道这是否是服务器防火墙问题或类似问题。我将尝试json,因为我在服务器上收到其他json响应网站成功执行。将在该网站上发帖。我已将ajax调用更改为json…$.ajax({data:json.stringify(data),数据类型:“json”,内容类型:“application/json;charset=utf-8”,等等,我现在得到了json格式的firebug参数输出…一个长字符串。但是基于上面的内容,我不确定您建议我在服务器端做什么。我没有太多使用json。我尝试了$result=json\u decode($data);服务器端(带和不带true参数).基于客户端ajax设置,我不确定$data是否正确(如上所述)?
drag_data.php test file
$i = 0;
//this loop is failing to echo the posted array data from the Ajax request
foreach ($_POST['item'] as $value) {
echo "each".$value;
$i++;
}
?>