-1

AJAX 呼び出しを機能させるのに問題があります。失敗エラーは一般的な 404 です。これは、呼び出したいファイル/関数が呼び出しで見つからないことを意味します。問題は、呼び出しで絶対パスを使用しても、まだ 404 のままです。サーバー上のファイルを物理的に検査し、同じパスを使用して同じディレクトリ内の画像または .txt ファイルに Web 経由でアクセスすることもできます。

$.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 に答える