Eri*_*cia 6 ajax jquery web-services
我过去常常$.ajax()
使用本地.asmx webservice.这是我的电话代码:
$("#btnGetOne").click(function() {
$.ajax({
type: 'POST',
contentType: 'application/json; charset=utf-8',
url: 'http://localhost:53003/TestWebService.asmx/GetServant',
data: '{ "servant_id": "' + $("#txtServantID").val() + '" }',
dataType: 'json',
success: function(data, textStatus, jqXHR) {
var jsnData = $.parseJSON(data.d);
$('#DisplayArea').html(jsnData.Servant_Name);
},
error: function(jqXHR, textStatus, errorThrown) {
alert(textStatus + ' ' + errorThrown);
}
});
});
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,当我单击btnGetOne时执行ajax调用.
在我的问题标题中,这适用于jquery-1.4.1,但是当我使用jquery-1.6.2时,我得到一个errorThrown
说法No Transport
.
还有什么我想念的吗?
localhost:53003
在您尝试使用Ajax(域上的URL)时,可能无法加载您的HTML + JS页面localhost:53003
.
因此,看起来您正在尝试进行跨域请求,这是禁止的 - 请参阅同源策略.
看一下文档jQuery.support
,您可能想启用jQuery.support.cors
(引用):
cors
等于true
浏览器是否可以创建XMLHttpRequest
对象以及该XMLHttpRequest
对象是否具有withCredentials
属性.
要在不支持cors
但允许跨域XHR请求(Windows小工具等)的环境中启用跨域请求,请设置$.support.cors = true;
.
以下是一些可能有用的链接: