将数据发布到php文件时出错。下面的代码
$.ajax({
type: "POST",
url: url,
data: "{'konuid='" + $('#step2-id').val() + "','kategoriid='" +$('#step3-id').val() +"'}",
success: function(data){
$('#form-sorular').html(data);
},
error: function(data)
{
alert(data.d);
}
});
我检查了来自ajax的php文件中的值,值为空。这个ajax有什么问题。
答案 0 :(得分:3)
您正在为data
值传递JSON格式的字符串,但我猜您的服务器代码期望值,就像您发布了一个表单一样。所以不是看起来像这样的字符串:
{'konuid='step2-id-val','kategoriid='step3-id-val'}
您应该传递一个如下所示的字符串:
konuid=step2-id-val&kategoriid=step3-id-val
但是不是自己连接字符串,而是应该将data
值设置为对象,然后JQuery将为您格式化字符串:
data: {
konuid: $('#step2-id').val(),
kategoriid: $('#step3-id').val()
},
注意:JQuery会在构建字符串时对值进行正确编码。
由于您的ajax调用显然会返回html,我建议您添加dataType
设置:
dataType: 'html',
此外,错误回调的签名是:
function(jqXHR, textStatus, errorThrown)
将错误设置更改为:
error: function(jqXHR, textStatus, errorThrown) {
alert('Error: ' + textStatus + ', ' + errorThrown);
alert('Response: ' + jqXHR.responseText);
}