gpt4 book ai didi

jquery - mvc中如何用jquery ajax获取数据?

转载 作者:行者123 更新时间:2023-12-01 06:44:47 26 4
gpt4 key购买 nike

我尝试在 mvc 项目中使用 jquery ajax 获取城市名称。但请帮我得到这个错误。

"NetworkError: 404 Not Found - http://localhost:1411/HomeController/GetCity/"

[HttpPost]

public ActionResult GetCity(int idCountry)
{

TravelEnterAdminTemplate.Models.LG.MyJsonResult myresult = new Models.LG.MyJsonResult();
try
{
var citystable = db.Cities.Where(p => p.CountryId == idCountry).ToList();
if (citystable != null)
{
myresult.Result = true;
myresult.obj = citystable;

}
else
{
myresult.Result = false;
myresult.message = "داده ای یافت نشد";
}

}
catch (Exception e)
{

errorlog.Error("DeleteShopping", "157", e.Source.ToString(), e.Message);
myresult.Result = false;
myresult.message = "خطا در بارگذاری اطلاعات";

}
return Json(myresult, JsonRequestBehavior.AllowGet);

}

Controller 和方法的名称是真实的。

enter image description here

$(document).ready(function () {
country = $('#CountryId');
country.change(function() {
var id = country.val();
getCity(id);
}); //End country.change

function getCity(id) {
$.ajax({
type: "POST",
url: "/HomeController/GetCity/",
data: "{'idCountry':'" + id + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (result) {
alert('hello');
var delay = function () {
AjaxSucceededSearch(result);
};
setTimeout(delay, 300); //remove this
},
error: AjaxFailedSearch()
});
} //End getCity

function AjaxSucceededSearch(result) {
$('#loading').remove();
if (result.d != null) {
for (var i = 0; i <= result.d.length; i++) {}
} else
if (result.d == false) {
alert("data is not found!!!");
}
}

function AjaxFailedSearch(jqXhr, textStates, errorThrown) {
alert(errorThrown + ' ' + textStates);
}
}); // End document ready

enter image description here我该如何解决这个问题?

最佳答案

您应该只使用Home ,不是HomeController在路径中:"/Home/GetCity/" 。更好的是使用@Url.Action("GetCity", "Home")而且最好将对象传递给 data而不是将字符串拼凑在一起。最后你应该传递 AjaxFailedSearch() 的引用到error处理程序。您当前的代码正在执行 AjaxFailedSearch立即并将结果分配给错误处理程序。

试试这个:

function getCity(id) {
$.ajax({
type: 'POST',
url: '@Url.Action("GetCity", "Home")',
data: { idCountry: id },
dataType: 'json',
success: function (result) {
setTimeout(function () {
AjaxSucceededSearch(result);
}, 300);
},
error: AjaxFailedSearch // note the removal of ()
});
}

您推迟AjaxSucceededSearch()有什么原因吗? 300ms 调用?好像有点多余。

关于jquery - mvc中如何用jquery ajax获取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35890048/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com