【发布时间】:2015-04-02 17:03:14
【问题描述】:
我正在使用带有 WEB API 调用的 ASP.NET MVC,试图了解为什么我在使用异步时会“失败”而在使用同步 ajax 调用时会“成功”
<div class="form-group">
<button class="btn btn-secondary btn-single" onclick="register(); ">Authenticate</button>
</div>
//此方法失败
function register() {
var uri = '/api/RegisterAccount/GetSessionId';
$.getJSON(uri)
.done(function (data) {
alert('success');
})
.fail(function (jqXHR, textStatus, err) {
alert('failed!!');
});
}
//这个方法成功
function register() {
var uri = '/api/RegisterAccount/GetSessionId';
$.ajax({
//type: "POST",
url: uri,
contentType: "application/json; charset=utf-8",
dataType: "json",
async: false,
success: function (data) {
alert('success');
},
error: function (xhr, textStatus, errorThrown) {
alert('failed!');
}
});
}
//ASP.NET 控制器
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Security.Principal;
using System.Web;
using System.Web.Http;
using System.Web.Security;
using CurrencyProtector.EbayProxy;
using CurrencyProtector.Models;
namespace CurrencyProtector.Controllers
{
public class RegisterAccountController : ApiController
{
[Route("api/RegisterAccount/GetSessionId")]
public string GetSessionId()
{
System.Threading.Thread.Sleep(3000);
return "mysession";
}
.
.
.
EDIT刚刚发现可能与控制器上的Thread.Sleep有关
【问题讨论】:
-
您在 jquery 中收到的实际错误消息是什么?
标签: jquery asp.net asp.net-web-api