我无法使AJAX调用工作,失败错误是常见的404,这意味着调用无法找到我想要调用的文件/函数。问题是即使我在通话中使用绝对路径它仍然是404在我身上。我可以在服务器上物理检查文件,甚至使用相同的路径通过网络访问同一目录中的图像或.txt文件。
$.ajax({
type: "post",
url: "http://10.xx.xx.xx/Scripts/Core.aspx.vb/GetData",
contentType: "application/json; charset=utf-8",
dataType: "json",
data: '{"selCourse":"'+crsName+'"}',
success: function(result) {
ProcessServerLsnList(result.d);
},
error: function (xhr, status, error) {
AjaxErrorAlert(error);
}
});
因为我被迫从Dreamweaver编写这个代码作为运行时编译后的代码。(不要问......)是否有一些简单的我想念我应该检查,无论是在asp或iis配置中在服务器或web.config。
default.aspx标题
<%@ Page Language="vb" AutoEventWireup="true" Src="Scripts/Core.aspx.vb" Inherits="CoreFunctionality"%>
<!DOCTYPE>
<html>
<head runat="server">
Core.aspx.vb
Imports System.IO
Imports System.Web.Services.WebService
public partial Class CoreFunctionality
Inherits System.Web.UI.Page
Public Function GetData(ByVal strData As String) As String
return String.Format("It's blank Jim.", strData )
End Function
End Class
背景信息我需要实现的内容:用户点击它执行多个javascript操作的项目,然后无需刷新,页面从服务器检索数据并执行多个javascript操作,然后才对用户请求做出反应。
答案 0 :(得分:0)
现在我明白这可能不是最有效的方法,或者必然是行业标准和正确的方法,但它适用于我的小用途边缘情况,其中数据安全性并不是很重要。
当它转过来时,我离标记不太远,但是因为makeMoney2010提到我无法直接调用aspx.vb文件,所以我将它附加到一个空页面并调用该页面作为后台处理器信息。 (很可能是不正确的术语)
下面的代码应该指导其他不了解ajax和vb asp.net的人,但需要出于某种或其他原因而违反规范,以便能够从javascript调用服务器上的函数并从运行中返回一些数据时间编译的代码隐藏文件。
Core.aspx(后台处理器)
<%@ Page Language="vb" AutoEventWireup="true" Src="Core.aspx.vb" Inherits="CoreFunctionality"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Processing Data...</title>
</head>
<body>
Processing Data, Please Wait...
</body>
</html>
Core.aspx.vb(服务器端脚本)
Imports System.Web
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.Web.Script.Services
public partial Class CoreFunctionality
Inherits System.Web.UI.Page
<WebMethod()> _
Public Shared Function GetLessonList(ByVal crsName As String) As String
If crsName = "" Then
return String.Format("It's blank Jim.", crsName)
Else
return String.Format("Oodles of list data here!!!", crsName)
End If
End Function
End Class
ClientSide.js(客户端javascript)
function GetSegListFromServer(strData){
$.ajax({
type: "post",
url: "Scripts/Core.aspx/DoSomenthig",
contentType: "application/json; charset=utf-8",
dataType: "json",
//data: '{"selCourse":"'+crsName+'"}',
data: '{"lsnName":"'+lsnName+'", "crsName":"'+crsName+'"}',
success: function(result){
ProcessReturnedData(result.d);
},
error: function (xhr, status, error) {
AjaxErrorAlert(error);
}
});
}
function ProcessReturnedData(){
alert("@TODO:");
}
//Generic Ajax error handler
function AjaxErrorAlert(error){
alert("AJAX Error: "+error);
}