我有一個MVC 3 jsonresult控制器,它返回一個包含與特定國家相關的地區,下面的代碼JSON字符串:
public JsonResult getRegions(int countryID)
{
var regions = from r in db.Regions where r.CountryID == countryID select r;
var builder = new StringBuilder();
builder.Append("[");
foreach (Region region in regions)
//builder.AppendFormat("{0}, \"{1}\"", "RegionID: " + region.RegionID, "RegionName: " + region.RegionName);
builder.Append("{ RegionID: " + region.RegionID + ", RegionName: " + region.RegionName + "},");
//var result = builder.ToString().TrimEnd(new char[] { ',', ' ' }) + "]";
builder = builder.Append("]");
var result = builder.Replace(",]", "]");
return Json(result.ToString(), JsonRequestBehavior.AllowGet);
}
這將返回一個JSON格式化字符串,讓我們假設國家選擇的是肯尼亞,輸出字符串如下所示:
[{ RegionID: 1, RegionName: Nairobi Region},{ RegionID: 3, RegionName: Coast Region}]
我有一個JavaScript是通過爲國家的ID控制器,以獲得區域,這是我最終想要使用填充新的下拉列表。我的JavaScript看起來如下:
$(document).ready(function() {
$("#CountryID").change(function() {
$.ajax({
type: "GET",
url: "/ajaxcalls/getregions",
data: "countryID=" + $("#CountryID :selected").val(),
datatype: "json",
success: function (result) {
var options = ("#regions");
$.each(result, function (item) {
alert(item.RegionID + " " + item.RegionName);
});
},
error: function (req, status, error) {
alert(error + " " + req);
}
});
});
});
但彈出的警告說:
不確定不確定。
請提供關於從服務器的響應,不確定的不確定可能會顯示您正在試圖將對象轉換成字符串的更多信息。 –
我只注意到了來自altert消息的未定義,這不是我不相信的服務器響應。 –