Javascript 我正在使用ajaxget。控制器中的响应正确,但在ajax中返回404错误
java脚本是:Javascript 我正在使用ajaxget。控制器中的响应正确,但在ajax中返回404错误,javascript,c#,ajax,asp.net-mvc,Javascript,C#,Ajax,Asp.net Mvc,java脚本是: function LogOn() { var sendData = "userName=" + UserName.value + "&password=" + Password.value + "&isRemember=" + isRemember.checked; $.get('../Account/LogIn', sendData, function (Data, status, jqXHR) { if (Data.IsSuccess == 1
function LogOn() {
var sendData = "userName=" + UserName.value + "&password=" + Password.value + "&isRemember=" + isRemember.checked;
$.get('../Account/LogIn', sendData, function (Data, status, jqXHR) {
if (Data.IsSuccess == 1) {
alert('ok');
}
}, 'Json').fail(function () {
MessageError.removeAttribute('hidden');
MessageError.innerHTML = "خطای سمت سرور ";
})
}
在控制器httpclient中返回正确的结果。但当javascript ajax返回resoinse时,返回404错误。
控制人账户为:
public ActionResult LogIn()
{
int isSuccess = 1;
object _Result = null;
try
{
HttpClientHandler handler = new HttpClientHandler()
{
AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate
};
var client = new HttpClient(handler);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
string username = Request["userName"].ToString();
string password = Request["password"].ToString();
string encryptPass = JJorianClassLibrery.DLL.Encryptions.Encrypt(password, Entity.EncryptKey);
bool isRemember = bool.Parse(Request["isRemember"]);
var response = client.GetAsync(GetBaseUrl() + "api/v1/User/Login/" + username + "/" + encryptPass).Result;
if (response.IsSuccessStatusCode)
{
isSuccess = 1;
var result = response.Content.ReadAsStringAsync().Result;
_Result = result;
}
else
{
_Result = "نام کاربری یا کلمه عبور نادرست است";
isSuccess = 0;
}
}
catch
{
isSuccess = 0;
_Result = "عملیات ورود با موفقیت انجام نشد";
}
return Json(new { IsSuccess = isSuccess, Message = _Result }, JsonRequestBehavior.AllowGet);
}
控制器响应正确并返回结果的json,但将结果传递给javascript时,get-ajax ret响应为404(未找到).404错误意味着ajax调用未找到控制器
$.get('../Account/LogIn', sendData, function (Data, status, jqXHR)
您确定(“../Account/LogIn”)有效吗?可能您需要文件扩展名(.php、.js等),或者可能需要整个文件路径,例如(“”)
希望此帮助我认为它非常简单,您指向控制器的链接是错误的 试试这个:
$.get('/Account/LogIn', sendData, function (Data, status, jqXHR)
您如何知道控制器正在返回正确的结果?如果它返回404是因为它找不到您的控制器。。。您正在攻击的url(“../Account/LogIn”)非常可疑,您如何将控制器映射到该url?