2

我正在尝试在 jquery ajax 调用时从控制器获取列表。

但它返回错误“意外的令牌 S”。

更新 - 控制器代码是好的。它成功地准备了列表。但是ajax显示了这个错误。

jquery ajax 代码-

var urlData = '@Url.Action("GetThanas", "AgentKycEntry")';
$.ajax({
type: "POST",
url: urlData,
contentType: "application/json; charset=utf-8",
data: "{'id':'" + selectedVal + "'}",
dataType: "json",
success: function (result) {
//tasks with restul
},
error: function (request, status, error) {
alert("Request: " + request + " Status: " + status + " Error: " + error);
}
});

控制器中的代码

    [HttpPost]
    public List<Thana> GetThanas(int id)
    {
        return Thana.GetThanaList(id);
    }

更新-型号代码

   public class Thana
{

    public String ThanaId { get; set; }
    public String ThanaName { get; set; }

    public Thana() { }


    public static List<Thana> GetThanaList(Int32 districtId)
    {
        List<Thana> thanaList = new List<Thana>();


        String ConnectionString = ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;
        using (SqlConnection Connection = new SqlConnection(ConnectionString))
        {
            using (SqlCommand cmd = new SqlCommand("Select ThanaId,ThanaName From tblThanas where ThanaId<>0 And DistrictId=" + districtId + " or DistrictId=0 order By DisplayOrder ASC, ThanaName ASC ", Connection))
            {
                Connection.Open();
                SqlDataReader Reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
                while (Reader.Read())
                {
                    Thana thana = new Thana();
                    thana.ThanaId = Reader["ThanaId"].ToString();
                    thana.ThanaName = Reader["ThanaName"].ToString();
                    thanaList.Add(thana);
                }
                if (!Reader.IsClosed)
                {
                    Reader.Close();
                }
            }
        }



        return thanaList;
    }

}

有什么建议吗?

4

1 回答 1

3

将其作为 Json 返回,试试这个。

public JsonResult GetThanas(int id)
    {
        var list =  Thana.GetThanaList(id);
        return Json(list, JsonRequestBehavior.AllowGet);
    }

编辑:

success: function (result) {
//tasks with restul
    alert(result[0].ThanaName);
},
于 2013-11-03T07:35:43.357 回答