我写了一个简单的html页面:
<!DOCTYPE html>
<HTML>
<HEAD>
</HEAD>
<form name="form">
<input type="text" id="messageTest" name="msg" value="Your message"/>
<input type="submit" id="login" />
</form>
<script type="text/javascript" src="jquery.js"></script>
<script>
document.getElementById("login").addEventListener("click", function(e) {
e.preventDefault();
$.ajax({
type: "POST",
url: "Test.asmx/HelloWorld",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
alert(msg.d);
},
error: function(xhr,err){
alert("readyState: "+xhr.readyState+"\nstatus: "+xhr.status);
alert("responseText: "+xhr.responseText);
}
});
}, false);
</script>
</HTML>
它总是返回“readyState:0 status:0 responseText:undefined” 我的所有文件都在同一个文件夹中。 这是我的网络服务:
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
[System.Web.Script.Services.ScriptService]
public class Test : System.Web.Services.WebService
{
[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
}
我做错了吗?
答案 0 :(得分:0)
我在ajax调用之前添加了以下内容:
$.support.cors = true;
我已经从visualstudio加载了我的web服务并更改了要调用的url,现在它正在运行。