我正在使用VS2010和jquery-1.4.1.js版本,我尝试访问WCF服务,我在 jquery-1.4中收到一个奇怪的错误“访问被拒绝”。 1.js ,页码 4982
的jquery-1.4.1.js:
// Open the socket
// Passing null username, generates a login popup on Opera (#2865)
if ( s.username ) {
xhr.open(type, s.url, s.async, s.username, s.password);
} else {
xhr.open(type, s.url, s.async);
}
以下是我的致辞
function PostData() {
var webMethod = 'http://myservices/SomeService.svc/GetCount'
var parameters = "{'Id': '" + "1" + "'}"
$.ajax({
type: "POST",
url: webMethod,
data: parameters,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
//$(divToBeWorkedOn).html(msg.d);
debugger
},
error: function (e) {
//$(divToBeWorkedOn).html("Unavailable");
}
});
}
可能是什么问题?我测试我的wcf服务,它工作正常,我尝试通过asp.net连接并添加Web引用,只是为了看看是否有任何问题。
答案 0 :(得分:1)
此行是不必要的:
contentType: 'application/json; charset=utf-8',
它告诉服务器您发送的是哪种数据,而不是您希望收到的数据,并且您实际上并没有发送任何数据。
修改强>
您似乎在另一个域上调用脚本。这违反了same origin policy:您只能对同一域中的项目发出AJAX请求。有一种使用称为JSONP的方法,需要服务器端支持。请参阅$.ajax
的文档,尤其是JSONP dataType section。