Php AJAX:传递多个变量

Php AJAX:传递多个变量,php,jquery,ajax,Php,Jquery,Ajax,传递一个变量起作用: var type = $.cookie('liste-voyage-type'); var code= $.cookie('liste-voyage-code'); $.ajax({ url : '../listing-voyage-produit.php', type : 'GET' , data : 'type=' + type; }); listing-voyage-produit.php $type

传递一个变量起作用:

var type = $.cookie('liste-voyage-type');   
var code=  $.cookie('liste-voyage-code');       

$.ajax({
     url : '../listing-voyage-produit.php',
     type : 'GET' ,
     data : 'type=' + type;
 });     
listing-voyage-produit.php

$type = $_GET['type'];
echo 'type' . $type;  // => 2
$code = $_GET['code'];
echo 'code' . $code;      //   => !?
但我不能让它与两个变量一起工作:

$.ajax({
  url : '../listing-voyage-produit.php',
  type : 'GET' ,
  data : 'type=' + type+'&code=' + code;
});
listing-voyage-produit.php

$type = $_GET['type'];
echo 'type' . $type;  // => 2
$code = $_GET['code'];
echo 'code' . $code;      //   => !?

您不需要将数据转换为字符串参数。Jquery将为您做到这一点。试试这个

var type = $.cookie('liste-voyage-type'); 
var code=  $.cookie('liste-voyage-code');     

var myData = {
  type: type,
  code: code
};

$.ajax({
   url : '../listing-voyage-produit.php',
   type : 'GET' ,
   data : myData
}); 

使用
data:{'q1':data1,'q2':data2}

var type = $.cookie('liste-voyage-type'); 
var code=  $.cookie('liste-voyage-code'); 

$.ajax({ url: 'myscript.php',
  data: {'q1': type,'q2':code},
  type: 'post',
  success: function(output) {
    alert(output);
  }
});
myscript.php


使用浏览器网络选项卡检查ajax请求,查看参数是否正确发送
code
的值是多少?如果它包含任何特殊字符,则需要使用
encodeURIComponent
对其进行编码。但是最好给
$.ajax
一个对象,它会为你做所有的编码。@狗仔队这个问题使用POST,而不是GETI,我的意思是不应该有
数据之间:'type='+type+'&code='+code
}
。该分号应导致语法错误,因此不应运行任何代码。数据应采用百分比编码,而不是JSON编码。如果您只是将对象传递给
$.ajax
,它将自动执行该操作。@Barmar感谢您的更正。.我在那里输入了另一个类型。.在进行ajax调用之前写入数据而不是myDataUse
console.log(myData)
output@blunderboy该死它给出了对象{type=undefined,code=undefined}现在开始……首先获取值,然后在ajax调用中传递对象,正如我在回答中所解释的,这将修复所有问题。