【发布时间】:2014-12-05 11:22:40
【问题描述】:
我被这个问题困扰了很长一段时间。需要建议...
好的,我有这个 ASPX 测试服务页面(AJAX)
<script type="text/javascript">
$(document).ready(function () {
$('#btnTest').click(function () {
$('#btnTest').hide();
$.ajax({
type: 'POST',
url: "request.asmx/newSync",
data: '',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
complete: function () {
$('#btnTest').show();
},
failure: function (msg) {
$('#result').text(msg);
//alert(msg);
}
});
});
});
</script>
网络服务
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService]
public class test_request : System.Web.Services.WebService
{
public test_request () {
}
[WebMethod(EnableSession = true)]
public SyncAsync newSync()
{
var response = new SyncAsync();
//Test Processing
System.Threading.Thread.Sleep(5000);
try
{
response.Status = "Done";
return response;
}
catch (Exception ex)
{
response.Status = "error";
response.ErrorMessage = ex.Message;
ErrorSignal.FromCurrentContext().Raise(ex);
}
return response;
}
}
好的,我的问题是……这是异步的吗?……意思是当我单击按钮时它会发送请求并且我不会等待来自网络服务的任何响应……?
谁能解释一下?
谢谢
【问题讨论】:
-
您的 javascipr 是异步的,它不会阻止发送请求,并且会在响应返回时触发
complete或failure回调。 -
请注意,任何 ajax 错误都是
error:而不是failure:。
标签: c# jquery asp.net ajax asynchronous