jQuery AJAX类型:'GET',传递值问题

时间:2010-03-09 08:49:29

标签: php jquery ajax get

我有一个jQuery AJAX调用类型:'GET',如下所示:

$.ajax({type:'GET',url:'/createUser',data:"userId=12345&userName=test",
   success:function(data){
     alert('successful');
   }
 });

在我的控制台输出中是: GET:http://sample.com/createUser?userId=12345&userName=test params:userId 12345         userName测试

在我的脚本中,我应该使用$ _GET ['userId']和$ _GET ['userName']获取值,但我无法使用GET方法获取ajax请求传入的值。

关于如何做到这一点的任何想法?

感谢,

2 个答案:

答案 0 :(得分:12)

我唯一能看到错误的代码(由于问题已被编辑而不再适用(这表明代码已经针对问题进行了重写,可能无法准确反映实际使用的代码))是成功功能在错误的地方。

你有:

$.ajax(
   {
      type:'GET',
      url:'/createUser',
      data:"userId=12345&userName=test"
   },
   success: function(data){
     alert('successful');
   }
);

应该是:

$.ajax(
   {
      type:'GET',
      url:'/createUser',
      data:"userId=12345&userName=test",
      success: function(data){
        alert('successful');
      }
   }
);

尽管如此,您对控制台输出的描述表明数据正在正确发送。我尝试使用此脚本进行测试以查看PHP实际返回的内容(您可以在Firebug控制台中看到响应的主体):

<?php
    header("Content-type: text/plain");
    print_r($_REQUEST);
?>

答案 1 :(得分:-2)

url缺少扩展名,您可以将数据作为对象传递,因此jquery将其转换为字符串

$.ajax({
  type:'GET',
  url:'/createUser.php',
  data:{"userId":"12345","userName":"test"},
  success:function(data){
    alert('successful');
  }
);