我已经发布数据到我的MVC控制器没有问题(使用ajax后和HttpPost)。为什么不提供任何参数
我遇到的问题是,它是异步的,我需要它发布并等待响应。
因此,有get
然而,当我这样做,从来就没有传递参数。
我的JavaScript
//the type is "GET"
function toDatabase(type, url, data, successDelegate, failDelegate, errorDelegate) {
$.ajax({
type: type.toUpperCase(),
url: url,
contentType: "application/json;",
data: data,
dataType: "json",
success: function (response) {
successDelegate(response); removeSpinner();
},
failure: function (e) {
failDelegate(e.statusText); removeSpinner();
},
error: function (e) {
errorDelegate(e.statusText); removeSpinner();
}
})
}
和我的控制器是
[HttpGet]
public JsonResult SaveNewStagePlan(string name)
{
//todo save
if (String.IsNullOrEmpty(name))
return Json(new { id = -99 }); //always returns as name is null
}
我做了什么错?它在发布(并使用HttpPost)时运行良好。
编辑
数据的值是{"name":"MyBand"}
,通过该传递JSON.stringify({ 'name': localVariableBandName })
你的'toDatabase'方法'data'参数中传递的值是什么? – Shyju
@Shyju,我更新了我的帖子 – MyDaftQuestions
你尝试过跳过'stringify'步骤吗?你没有在url参数中发送json ...如果你没有对它进行字符串化,那么在GET请求中使用'data'属性应该将url更改为'url?name = MyBand'。 – ps2goat