我在这个问题上陷入了相当长的一段时间。建议需要...使用AJAX和.net Web服务进行异步处理
好吧,我有这个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>
Web服务
[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;
}
}
好我的问题是这样的......这是异步? ...意思是当我点击它发送请求的按钮时,我不会等待web服务返回的任何响应...?
有人可以解释一下吗?
谢谢
你javascipr是异步,它不会发送请求块并在响应返回,将火'complete'或'failure'回调。 – 2014-12-05 11:27:01
注意它是'错误:'而不是'失败:'对于任何ajax错误。 – 2014-12-05 11:28:57