当我通过 ajax GET 发送带有嵌套属性的json时,在控制器操作中,nestes对象属性(搜索)不会绑定。 另一方面,当我使用 Ajax POST 时,一切都正确绑定。
我在AJAX GET示例中做错了什么?
这是我的代码
var queryData = {
startDate : 1361577600000,
stopDate : 1388361600000,
sortColumn : "videoviews",
mediaId : "",
startIndex : startIndex,
count : count,
search : searchStr,
searching: {
search1 : "jjj",
search2 : "sss",
search3 : "a"
}
};
client1(在服务器上搜索已创建但未绑定):
$.ajax({
url: '/Query/TotalBrowsersDetails',
type: 'GET',
contentType: 'application/json',
data: queryData,
success: function (data, status, xhr) {
console.log('ajax success');
}
});
server1的:
[HttpGet]
public ActionResult TotalBrowsersDetails(QueryRequest queryRequest)
{
}
client2(工作正常):
$.ajax({
url: '/Query/TotalBrowsersDetails',
type: 'POST',
contentType: 'application/json',
data: JSON.stringify(queryData),
success: function (data, status, xhr) {
console.log('ajax success ');
}
});
服务器2:
[HttpPost]
public ActionResult TotalBrowsersDetails(QueryRequest queryRequest)
{
}
和模型
public class QueryRequest
{
public string MediaId { get; set; }
public string SortColumn { get; set; }
public string Search { get; set; }
public int StartIndex { get; set; }
public int Count { get; set; }
public long StartDate { get; set; }
public long StopDate { get; set; }
public SearchExtended Searching { get; set; }
}
public class SearchExtended
{
public string Search1 { get; set; }
public string Search2 { get; set; }
public string Search3 { get; set; }
}
}
注意:当我使用
时data: JSON.stringify(queryData)
在GET中,没有任何结合。