我正在尝试将几个参数传递给我的 JSON 回调,但是 string[] 参数仍然为空。我如何需要从 javascript 传递字符串数组才能使其正常工作?
Javascript函数:
function jsonCallback(jsonCallbackID, argumentsArray) {
var argumentValues = [];
for (var i = 0; i < argumentsArray.length; i++) {
argumentValues.push('' + $("#" + argumentsArray[i]).val());
}
// build request
var url = encodeURI("/DataEntry/JsonCallback/");
var data = ({ jsonCallbackID: jsonCallbackID, jsonCallbackValues: argumentValues, rndvalue: Math.floor(Math.random() * 10000000001) });
// fire request
$.getJSON(url, data, function (data) {});
实际的回调 C# 函数:
public JsonResult JsonCallback(int jsonCallbackID, string[] jsonCallbackValues)
{ }
但是,此函数确实被调用,参数“jsonCallbackValues”为空。
编辑
为了使它工作,我做了以下工作:
var data = ({ jsonCallbackID: jsonCallbackID, jsonCallbackValues: argumentValues.toString(), rndvalue: Math.floor(Math.random() * 10000000001) });
并在 "," 处拆分 jsonCallbackValues 字符串以获取结果数组。