-1

我无法让 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">

核心.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 操作,然后对用户请求做出反应。

4

1 回答 1

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);
}
于 2014-05-02T13:30:06.333 回答