【发布时间】:2016-08-31 05:34:37
【问题描述】:
您好,我有以下数据通过 ajax 传输到 MVC 控制器。它在 IE 上运行时运行良好,但在 Firefox 上运行时收到错误消息。我尝试改变很多东西(添加数据类型、内容类型……等等)。其中大多数导致数据也无法通过 IE 发送。
function sendData() {
var currData = new Array();
var elements = document.getElementById("formID").elements;
for (var i = 0, element; element = elements[i++];) {
if (element.value != "Submit Query") {
if (element.value != "") {
currData.push(element.value);
}
}
}
var finData = {values: currData};
$.ajax({
type: "POST",
url: "home/sendcurr",
data: finData,
traditional: true,
success: function (recData) {
populateObjData(recData);
},
error: function () {
alert("error");
}
});
}
在控制器中,我收到的数据如下:
List<String> values
成功后将以下数据返回给ajax。
var jsonData = new JavaScriptSerializer().Serialize(_object);
return jsonData;
同样,现在它在 IE 中完美运行,但在 Firefox 中无法正常运行! 非常感谢任何帮助!
【问题讨论】:
-
traditional: true在这里做什么? -
您在 firefox 中遇到什么错误?
-
@PraveenKumar 这是我想出能够在 IE 中的控制器接收到数据时读取数据的唯一方法,否则它只会给我“null”而不是中的值列表数组。
-
@Baraa 我猜这就是导致 FF 失败的原因。做一件事。创建两个单独的 AJAX 函数,一个用于 IE,一个用于其他。在 IE 和其他人中有
traditional: true,不要包括它。看看有没有用? -
@PraveenKumar 会试试的
标签: javascript jquery ajax model-view-controller