有一種Api
方法,通過Ajax
調用。解析和其他必要的事情完成後,我得到以下結果。使用Json結果列表作爲mvc actionresult的參數,使用Linq和Lambda從數據庫返回對象
["IG4","E1 ","E16"]
一旦收到該結果,調用另一個MVC ActionResult
從數據庫,其中,所述對象的屬性郵政編碼包含這些Json
結果中的一個顯示數據。但它不起作用。
public ActionResult SearchResult(JsonResult postcode)
{
var posts = db.Posts.Where(p => p.PostCode.Contains(postcode));
return PartialView("postlist", posts);
}
當ActionResult
通過Ajax
叫,我查是被稱爲什麼url
,得到了以下結果
SearchResult?postcode%5B%5D=IG4&postcode%5B%5D=E1+&postcode%5B%5D=E16
$('#searchBtn').on('click', function() {
var _postcode = $('#searchPostcode').val();
var _distance = $('#searchDistance').val();
alert("postcode " + _postcode + " distance " + _distance);
var _url = '@Url.Action("GetPostcodesWithin", "Api/PostcodeApi")'; // don't hard code url's
$.ajax({
type: "GET",
url: _url,
data: { postcode: _postcode, distance: _distance },
success: function(data) {
alert("search ok");
$.ajax({
type: "GET",
url: '@Url.Action("SearchResult", "Posts")',
data: { postcode: data },
success: function (data) {
alert("Post results called");
$("#postList").html(data).show();
},
error: function (reponse) {
alert("error : " + reponse);
}
});
},
error: function (reponse) {
alert("error : " + reponse);
}
});
});
從
GetPostcodesWithin
方法返回
Json
數據顯示在頂部,這是傳遞到SearchResult
而不是JsonResult,嘗試使用字符串[],可能會拿起所有的值。但是,它看起來不像你的ajax文章發佈數組。你可以顯示JavaScript嗎? –
你是否在列表中返回數據? – Developer
是的,字符串列表 – Sugafree