我试图在AJAX调用后得到一个get post值。首先,我将向您展示我的AJAX代码:
$('#color').change(function(){
var color = $('#color').find(':selected').text();
var id = {$product_details.id};
//alert({$product_details.id});
//alert(color+id);
var url = 'http://myurl';
$.ajax({
url: url,
type: 'post',
data: {'color='+color+'&id='+id},
success: function(msg){
alert(msg);
}
});
});
我已经测试过我发布到了正确的网址(不是上面的网址)。我已通过警报测试了变量。这是我的PHP文件:
echo $_POST['color'];
if(isset( $_POST['color'] )){
echo 'hi';
//get_unit();
}
但我无法回应$ _POST ['color']。可能是什么问题?
答案 0 :(得分:2)
尝试改变:
data: {'color='+color+'&id='+id},
为:
data: {'color':color, 'id':id}
因为您使用了POST
方法。
答案 1 :(得分:1)
在您在查询字符串中传递帖子数据时不需要{}
,当您在对象中发送数据时将使用{}
,请尝试这种方式
data: 'color='+color+'&id='+id
// OR
data : {"color" : color, 'id' : id}
//
<script>
$('#color').change(function(){
var color = $('#color').find(':selected').text();
var id = {$product_details.id};
//alert({$product_details.id});
//alert(color+id);
var url = 'http://myurl';
$.ajax({
url: url,
type: 'post',
data: 'color='+color+'&id='+id,
// OR
// data : {"color" : color, 'id' : id}
success: function(msg){
alert(msg);
}
});
});
</script>
答案 2 :(得分:1)
$.ajax({
url:Url,
dataType: 'json',
contentType: "application/json",
type: "POST",
data: JSON.stringify({ 'color': color1 ,'Id':id1 }),
success: function (msg) {
alert(msg);
}
尝试使用此格式.color1和id1是您将数据存储在其中的局部变量。
答案 3 :(得分:1)
您可以尝试两项更改:
改变这个:
var id = {$product_details.id};
到此:
var id = $product_details.id;
因为您的对象语法错误,应该使用{key:value}
对,或者您应该按上述方式进行更改。
你应该这样发布你的数据:
data: {'color':color, 'id':id},