【问题标题】:Send values to $_GET using jQuery使用 jQuery 将值发送到 $_GET
【发布时间】:2011-03-02 18:33:08
【问题描述】:

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

我正在尝试使用 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!');
      }
   });

}

(从 cmets 复制的实际代码)

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); 
        } 
    }); 
}

【问题讨论】:

  • 到底发生了什么?你有问题吗?我的猜测是参数编码有问题(async:false 是个坏主意)。
  • 我的代码实际上是这样的: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); } }); } 在另一边,我用$print_r($_GET); 呼应了这些值,但我没有得到任何回应...
  • 也许是因为它应该print_r($_GET)(没有$)。

标签: php jquery ajax get


【解决方案1】:
function xrate(id,rating){  

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

}

【讨论】:

  • 您好 hsz,感谢您的快速回答!虽然我很确定你的答案是正确的,但我似乎无法让它发挥作用。我应该如何获取 PHP 脚本中的值? $id_value = $_GET['id']; $rate_value = $GET['rate'];会正确吗?另外,如何在我的 PHP 脚本中使用“回声”来帮助调试,并查看结果出现在网页中?
  • @user641747:获取您提到的值是正确的。在网页中调试,虽然我不推荐它。你用success: function(text){ // use the text parameter to see any reporting }
【解决方案2】:

你可以这样做:

function xrate(id,rating){  

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

}

【讨论】:

    【解决方案3】:
    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/

    【讨论】:

      【解决方案4】:
      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:。如果您不知道,默认情况下异步也是如此

      【讨论】:

        猜你喜欢
        • 2016-08-07
        • 1970-01-01
        • 2010-09-28
        • 1970-01-01
        • 2021-01-10
        • 2014-12-26
        • 2014-10-04
        • 2013-05-13
        • 1970-01-01
        相关资源
        最近更新 更多