我知道这个问题是由多个用户提出的,但是他们的回答对我没有帮助。我尝试了This answert,但也没有帮助。
我正在尝试从另一个域访问在IIS上部署的Web服务。当我尝试进行Ajax调用时,出现错误,提示“ pareseerror:未调用jQuery”。
我尝试用'jsonp'进行ajax调用没有成功。
我尝试在服务上启用cors,但无济于事。
下面是我要附加的Chrome开发者工具中出现的错误。
下面是我的jQuery代码:
function makeAjaxCall(cB) {
ajaxCall = $.ajax({
type: 'GET',
data: {},
url: 'http://workspace/MathService.asmx/testMethod?strEmployeeNo=123456',
contentType: "application/json; charset=utf-8",
dataType: "jsonp",
beforeSend: function() {
showLoadingModal("Loading", " ");
},
success: function(response) {
if (cB) {
cB(response);
return;
}
},
complete: function() {
console.log("call complete");
},
error: function(jqXHR, status, error) {
console.log(jqXHR + " " + status + " " + error);
}
});
return ajaxCall;
}
下面是asmx服务中的方法:
[WebMethod]
public string testMethod(string strEmployeeNo)
{
return strEmployeeNo;
}
以下是web.config中的配置设置:
<webServices>
<protocols>
<add name="HttpGet" />
<add name="HttpPost" />
</protocols>
</webServices>
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Content-Type" />
<add name="Access-Control-Allow-Methods" value="GET,POST,PUT,DELETE,OPTIONS" />
<add name="Access-Control-Allow-Credentials" value="true" />
</customHeaders>
</httpProtocol>
</system.webServer>