我正在使用$.ajax
调用将数据发送到PHP页面:
$.ajax({
type: 'POST',
url: "ajax_more.php",
data: "userid=1"
});
在ajax_more.php
中我试图读取用户ID的值:
$user_id=$_POST['userid'] ;
但是,我收到错误,因为PHP没有找到索引userid的值。
我做错了什么?
我以同样的方式发送另一个ajax变量:
$.ajax({
type: "POST",
url: "ajax_more.php",
data: "lastmsg="+ ID,
cache: false,
success: function(html){
$("div#listednotes").append(html);
$("#more"+ID).remove();
}
});
并且工作正常,因此使用<?php print_r( $_POST ) ?>
,返回值为:
Array ( [lastmsg] => 38 )
。
答案 0 :(得分:2)
您可能已经使用了一些.htaccess重定向,例如删除或添加“www”到所有Web请求。对它们的任何更改都会影响您的POST请求参数。
要解决这个问题,请确保按照.htaccess规则输入您的Ajax网址。
答案 1 :(得分:0)
$.ajax({
type: 'POST',
url: "ajax_more.php",
data: {"userid" :1}
});
答案 2 :(得分:0)
我完全剪切并粘贴了你的代码并且它有效。因此,在您提供的代码中看起来并没有出错。如果在检查$ _POST数组之前运行其他代码,则该代码可能会更改其内容或取消设置。
答案 3 :(得分:0)
您的数据应该是键值对。而不是你指定它的方式。 所以:
data: "userid=1"
错了,应该是:
data: {"something" : "value"}