我在javascript函数中有一个变量,需要发送给控制器。这是javascript函数中的代码。
var testString = "Test";
$.ajax({
type: "POST",
url: "@Url.Action("GetJavaScriptString")",
dataType: "json",
data: JSON.stringify(testString),
success: function (data) {
alert(data);
},
failure: function (errMsg) {
alert(errMsg);
}
});
这是控制器方法
public ActionResult GetJavaScriptString(string data)
{
return null;
}
GetJavaScriptString方法中的变量“ data”保持为空。
答案 0 :(得分:1)
当名称与参数名称匹配时,您需要发送一个名称/值对
var testString = "Test";
$.ajax({
type: "POST",
url: "@Url.Action("GetJavaScriptString")",
dataType: "json",
data: { data: testString }, // change this
success: function (data) {
alert(data);
},
failure: function (errMsg) {
alert(errMsg);
}
});
请注意,您不需要JSON.stringify()
,但是如果这样做的话,您将需要data: JSON.stringify({ data: testString }),
,并且需要使用contentType: 'application/json',
选项