当从 jquery 向我的控制器发送一个 json 对象时,数据被传递到该方法中,但由于某种原因为空。此外,我似乎无法在没有得到 404 的情况下发布数据,我被迫使用 get 方法。
我的 Javascript 和 jquery 调用如下所示:
var searchQuery = {
'scope': 'global',
'query': s
};
console.log(searchQuery);
$.ajax({
type: "GET",
url: "Search/SearchSite",
contentType: "application/json; charset=utf-8",
data: searchQuery,
dataType: "json",
success: function (msg) {
$("#pageContent").html(msg);
}
});
我的控制器如下所示:
[System.Web.Mvc.HttpGet]
public virtual ActionResult SearchSite(MyQuery query)
{
string sendBack = "info to send:" + query.query;
return Content(sendBack);
}
我的课看起来像这样:
public class MyQuery
{
/// <summary>
/// Defines the scope of the search Global etc.
/// </summary>
public string scope { get; set; }
/// <summary>
/// Defines the search query
/// </summary>
public string query { get; set; }
}
我已经尝试了一切简化,只是发送一个字符串,但由于某种原因也被取消了。