使用 jQuery AJAX 发送多个数据参数

2022-08-30 10:07:38

我正在向php文件发送ajax请求,如下所示:

function checkDB(code, userid)
{

  $.ajax({
  type: "POST",
  url: "<?php bloginfo('template_url'); ?>/profile/check_code.php",
  data: 'code='+code+'userid='+userid,
  datatype: "html",
  success: function(result){

       if(result == 0)
        {
            $('#success').html( code + ' has been redeemed!');
            // alert('success');//testing purposes
        }
        else if(result == 2)
        {
            $('#err').html(  code + ' already exists and has already been redeemed....');
            //alert('fail');//testing purposes
        }else if(result == 1){
            $('#err').html(  code + ' redeem code doesnt exist');      
        }

        alert(result);      
      }
  })

}

这是在提交时调用函数发送的,如下所示:

<form method="post" class="sc_ajaxxx" id="sc_add_voucherx" name="sc_ajax"  
     onsubmit="checkDB(document.sc_ajax.sc_voucher_code.value, <?php echo $user_id ?>); return false;">
</form>

问题是用户 id php 变量没有被 ajax 发送到 check_code.php 页面。或者至少我似乎无法将ID回显到页面。

这是将多个值传递到服务器端页面的正确方法吗?如果没有用户标识传递,它只需传递代码即可正常工作。

谢谢你们:)


答案 1

以下是数据的格式设置方式:POST

key1=value1&key2=value2&key3=value3

在你的例子中(注意作为分隔符):&

'code=' + code + '&userid=' + userid

但是,如果您将数据指定为对象,jQuery 会为您执行此操作:

data: { code: code, userid: userid }

答案 2

你应该设置你喜欢这样:data

data: 'code='+code+'&userid='+userid

推荐