2011-03-02 83 views
0

我正在使用PHP脚本通过$ _GET等待两个值。

我想通过这些2值使用jQuery,这就是我不太擅长的地方。

这是我得到的代码。

有人可以指出我正确的方向吗?谢谢 !

function xrate(id,rating){ 

    $.ajax({ 
     url: "ajax_xrate.php?id="+id+"&rate="+rating, 
     global: false, 
     type: "GET", 
     dataType: "text", 
     async:false, 
     success: function(){ 
     alert('Bravo!'); 
     } 
    }); 

} 

(从注释复制的实际代码)

function xrate(id,rating){ 
    var oDate = new Date(); 
    $.ajaxSetup({ cache: false }); 
    $.ajaxSetup({ 
     scriptCharset: "utf-8" , 
     contentType: "application/x-www-form-urlencoded; charset=UTF-8" 
    }); 
    $.ajax({ 
     url: 'ajax_xrate.php?timestamp='+oDate.getMilliseconds(), 
     dataType: 'html', 
     data: {itemid:id, keyrate:rating}, 
     cache: false, 
     type: "GET", 
     success : function(dataReturn){ 
      alert(dataReturn); 
     } 
    }); 
} 
+0

http://api.jquery.com/jQuery.ajax/ – 2011-03-02 18:34:29

+0

究竟发生了什么?你有问题吗?我的猜测会是参数编码问题(而'async:false'是一个坏主意)。 – 2011-03-02 18:39:26

+0

我的代码实际上是这样的: 'function xrate(id,rating){ \t var oDate = new Date(); \t \t $ .ajaxSetup({ \t \t缓存:假 \t \t}); \t \t \t \t $ .ajaxSetup({scriptCharset:“utf-8”,contentType:“application/x-www-form-urlencoded; charset = UTF-8”}); \t \t \t \t $阿贾克斯({\t \t \t网址: '?ajax_xrate.php时间戳=' + oDate.getMilliseconds(), \t \t数据类型: 'HTML', \t \t数据:{为itemid:ID ,keyrate:评级}, \t \t缓存:假的, \t \t类型: “GET”, \t \t成功:函数(dataReturn){ \t \t \t \t alert(dataReturn); \t \t} \t}); }' 在此另一边,我与 呼应值'$的print_r($ _ GET);' 但我没有得到任何回应... – Alex 2011-03-02 20:11:32

回答

2
function xrate(id,rating){ 

    $.ajax({ 
     url: "ajax_xrate.php", 
     data: { 
      id: id, 
      rate:rating 
     }, 
     type: "GET", 
     success: function(){ 
     alert('Bravo!'); 
     } 
    }); 

} 
+0

嗨hsz,感谢您的快速回答!虽然我很确定你的回答是正确的,但我似乎无法使其工作。 我应该如何获取PHP脚本中的值? $ id_value = $ _GET ['id']; $ rate_value = $ GET ['rate']; 这是正确的吗?另外,如何在我的PHP脚本中使用“回声”来帮助调试,并查看结果出现在网页中? – Alex 2011-03-02 19:55:53

+0

@ user641747:获取您提到的值是正确的。要在网页中进行调试,尽管我不推荐它。你使用'success:function(text){//使用文本参数来查看任何报告} – einstein 2011-03-02 20:13:11

1

你可以这样做:

function xrate(id,rating){ 

    $.get("ajax_xrate.php", 
     { 
      'id': id, 
      'rate': rating 
     }, 
    function(){ 
     alert('Bravo!') 
    } 
); 

} 
0
jquery.ajax work like this 

jQuery.ajax({ 
    url:'you_ur', 
    type:'GET' or 'POST', 
    data:{prop1:value1}, // name value pair of props waiting on server 
    //etc etc here 
}); 

http://api.jquery.com/jQuery.ajax/

0
function xrate(id,rating){ 

    $.ajax({ 
      url: "ajax_xrate.php", 
      data: "id="+id+"&rate="+rating, 
      async:false, 
      success: function(){ 
      alert('Bravo!'); 
      } 
    }); 

} 

您不需要像type = 'get'这样的设置参数,因为它们已经是默认设置。每个参数都应以字符串形式(如上面的形式)或对象形式({id: '45', rate: 'something'})在data:中输入。异步在默认情况下也是如此,以防您不知道