使用JQuery Ajax函数发送post变量时遇到困难,将类型更改为GET都有效。
代码
function loadAttributes() {
var selectedValues = [];
var presentValues = [];
$('#attrplaceholder div').each(function(){
if (typeof $(this).data('attrid') !== 'undefined')
{
presentValues.push($(this).data('attrid'));
}
});
$("#categories :selected").each(function(){
selectedValues.push($(this).val());
});
jQuery.ajax({
url: 'backend.php?r=products/setProductAttributes',
type: "POST",
dataType:"html",
contentType: 'text/html; charset=utf-8',
data: {ids: selectedValues,presentids: presentValues},
success: function(json){
alert(json)
if(json!='[]'){
var obj = eval ("(" + json + ")");
if(obj.json !== 'undefined'){
$.each(obj.json, function(k, v) {
if(k==='views'){
$("#attrplaceholder").append(v);
}
if(k==='rem'){
var remvals = v.toString().split(",");
for(i=0;i<remvals.length;i++){
$("#attrgrp_"+remvals[i]).remove();
}
}
});
}
}
}
});
return false;
}
loadAttributes()
$("#categories").on("change",function(){
loadAttributes()
});
任何指针都会有所帮助,我尝试使用contentTypes但仍然没有运气
答案 0 :(得分:1)
contentType是您发送到服务器端的数据格式。
在您的情况下,您应将其设置为:application/x-www-form-urlencoded; charset=UTF-8
或application/json; charset=UTF-8
,具体取决于服务器端期望的格式
或完全删除它,因为默认情况下contentType
为application/x-www-form-urlencoded; charset=UTF-8
Differences between contentType and dataType in jQuery ajax function