以下代码在发布到本地主机后正在完善。所以我从我的本地主机复制文件并将它们放在服务器上。现在它说它找不到网络方法。该项目是一个MVC项目,不起作用的是一个单独的aspx页面添加到项目目录。所以,我不知道这是否与IIS有关。任何想法将不胜感激。发布到生产服务器后未找到Web方法
[WebMethod]
public static string LoadPatients(string phone, string user)
{
//SOME STUFF HERE THAT WAS EXCLUDED//
var sb = new StringBuilder();
for (var x = 0; x < Callerdt.Rows.Count; x++)
{
var addr = Callerdt.Rows[x]["Street"].ToString() + " " + Callerdt.Rows[x]["city"].ToString() + ", " + Callerdt.Rows[x]["State"].ToString() + " " + Callerdt.Rows[x]["ZipCode"].ToString();
sb.AppendFormat("
"
Name:{0}" +"
DOB:{1}" +"
Address:{2}" +"
SSN:{3}" +"
Z Number:{4}" +"
", Callerdt.Rows[x]["Name"].ToString(), Callerdt.Rows[x]["DOB"].ToString(), addr, Callerdt.Rows[x]["SSN"].ToString(), Callerdt.Rows[x]["ZNUM"].ToString());
}
ret = sb.ToString();
return ret;
}
$(document).ready(function() {
var p = document.getElementById('pn').value, u = document.getElementById('user').value, er = document.getElementById('error').value;
if (!(er == "true")) {
$("#loading").show();
$.ajax({
type: "POST",
url: 'CallerPopup.aspx/LoadPatients',
data: JSON.stringify({ phone: p, user: u }),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
$('#tabs').append(data.d);
},
complete: function() {
$("#loading").hide();
}
});
}
});
2014-10-29
dave
+0
您是否启用了友好的URL?我在我的应用中有这样的评论:'不管你做什么,都不要设置AutoRedirectMode = RedirectMode.Permanent。这将打破PageMethods调用,整个应用程序将失败。 –
2014-10-29 13:48:41
+0
嗨达斯顿 - 这让它工作。问题在于路线,它是跟随MVC路线,并没有找到页面。这将如预期的那样。感谢回复! http://stackoverflow.com/questions/9683426/ajax-webmethod-call-returns-404-on-mvc3 –
2014-10-29 14:07:36