使用ajax for php发送变量值

时间:2011-07-01 20:22:51

标签: php jquery ajax

我正在使用$.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 )

4 个答案:

答案 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"}