3 回答

TA贡献1796条经验 获得超4个赞
编写您的 Ajax POST 方法如下:
$(document).ready(function(){
var listValues = [];
listElements.each(function (index, element) {
listValues.push(element.innerText);
});
var serviceURL = '/Products/FirstAjax';
$.ajax({
type: "POST",
url: serviceURL,
data: {listValues: listValues},
contentType: 'application/json'
success: successFunc,
error: errorFunc
});
function successFunc(data, status) {
alert(data);
}
function errorFunc() {
alert('error');
}
});
希望这能解决您的问题。

TA贡献1828条经验 获得超4个赞
您需要contentTypeasapplication/json和 useJSON.stringify将 JavaScript 对象转换为 JSON 字符串。
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: serviceURL,
data: JSON.stringify({ listValues: listValues}),
success: successFunc,
error: errorFunc
});

TA贡献1876条经验 获得超5个赞
将您的 ajax 选项更改为:
$.ajax({
...
data: {listValues: listValues},
...
});
原因是:服务器期望发布的对象/查询字符串与参数命名相同。将data被转换为listValues=...&otherParams=...在查询字符串。如果您在未指定参数名称的情况下发布数组,则 JQuery 无法正确映射它们
- 3 回答
- 0 关注
- 199 浏览
添加回答
举报