[英]error in ajax request to action controller asp mvc
我有一個按鈕,當您單擊它時,它運行將ajax發送給控制器的ajax,現在控制器在服務器端執行了某些操作,並且它沒有錯誤,但是在控制器中的操作中,我有帶有restsharp的代碼,可以將請求發送到其余的Web服務也可以很好地工作,但是這一部分在foreach中運行了5或...時間,當我這樣做時,ajax占用了很長時間,而ajax代碼的錯誤部分運行了,我該怎么辦?
Ajax代碼:
$(document).on("click", "#btn-submit", function () {
$.ajax({
type: 'POST',
url: '/Panel/CheckRefOrderCode',
data: JSON.stringify({
factorrefid: $("#ref-check").val()
}),
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (result) {
if (result.DntSuccess) {
} else {
}
},
error: function () {
}
});
});
動作代碼
foreach(string s in str)
{
var client = new RestClient("http://**.com/api/v1/orders/status?support_code=71GD4A");
var request = new RestRequest(Method.POST);
request.AddHeader("token", "15befa43");
IRestResponse response = client.Execute(request);
RefOrderJsonViewModel.RefOrderJson reforderbackJson =
JsonConvert.DeserializeObject<RefOrderJsonViewModel.RefOrderJson>(response.Content);
if (reforderbackJson.status.ToLower() == "ok")
{
performed += reforderbackJson.data.performed;
order_status += reforderbackJson.data.order_status + "^";
}
}
我將其添加到web.config
<httpRuntime executionTimeout="100000000" maxRequestLength="262144" />
向ajax調用添加超時:
$(document).on("click", "#btn-submit", function () {
$.ajax({
type: 'POST',
url: '/Panel/CheckRefOrderCode',
data: JSON.stringify({
factorrefid: $("#ref-check").val()
}),
contentType: 'application/json; charset=utf-8',
dataType: 'json',
**timeout: 10000 // sets timeout to 10 seconds**
success: function (result) {
if (result.DntSuccess) {
} else {
}
},
error: function () {
}
});
});
查看此帖子 ,了解如何處理超時錯誤。
問題仍然存在;
但是我用這個
Parallel.ForEach(myEnumerable, obj =>
{
// ...
});
代替常規
前言
並並行執行foreach的主體,並且時間在減少,問題得以解決
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.