我的项目结构
Web Dir
- App_code
- App_Data
- DevFolder
- LiveFolder
- Live.aspx
- Dev.master
- DevMasterEvents
- masterservice.asmx
在母版页中,
$.ajax({
type: "POST",
url: "DevMasterEvents/masterservice.asmx/HelloWorld",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: SetTabSessionValueSucceed,
error: SetTabSessionValueFailed
});
function SetTabSessionValueSucceed(result) {
alert("text from server: " + result.d);
}
function SetTabSessionValueFailed() {
alert('call failed');
}
masterservice.asmx中的Web方法
[System.Web.Script.Services.ScriptService]
public class WebService1 : System.Web.Services.WebService
{
[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
}
它抛出呼叫失败。请帮忙
编辑:我担心原因可能是https://stackoverflow.com/a/12621912/2922388,因为我可以整个页面刷新(不确定原因)。
是的,这是我不小心的错误:(
<span class="input-group-btn">
<button type='button' name='search' id='search-btn' class="btn btn-flat"><i class="fa fa-search"></i></button>
</span>
早期的类型是“提交”#39;我换成了按钮。现在我收到&#34; 404错误未找到&#34;
答案 0 :(得分:2)
问题是由于内容类型和数据类型,只需从Ajax请求中删除它们:
a:hover,
button:hover,
input[type="button"] {
cursor: wait;
}
此外,您忽略了$.ajax({
type: "POST",
url: "DevMasterEvents/masterservice.asmx/HelloWorld",
success: SetTabSessionValueSucceed,
error: SetTabSessionValueFailed
});
中的错误,而只是显示一条消息,这对您的调试没有帮助。请参阅:How do you handle errors from AJAX calls?