0

フロントエンドで ExtJs を使用し、バックエンドで ASP.NET を使用しています。私は両方ともかなり新しいです。ExtJs を使用してバックエンドにリクエストを送信しようとしていますが、404 エラーが発生します。コンソールから任意のブラウザーのアドレス バーに URL をコピーすると、正常に動作します。私はローカルホスト URL を使用しているので、それがエラーかどうかはわかりません。これが私の ExtJs コードです。(コードには他にもいくつかの問題があることに気づきました。今のところ、フロントエンドをバックエンドに接続したいだけです)。

ExtJ コード:

Ext.define('AM.store.Users', {
    extend: 'Ext.data.Store',
    model: 'AM.model.User',
    autoLoad: true,

    proxy: {
        type: 'ajax',
        api: {
            read: 'http://localhost:3849/Home/AmazonRender?numDays=3',
            update: 'data/updateUsers.txt'
        },
        reader: {
            type: 'json',
            root: 'users',
            successProperty: 'success'
        }
    },
    updateUser: function (button) {
        var win = button.up('window'),
    form = win.down('form'),
    record = form.getRecord(),
    values = form.getValues();



    record.set(values);
    win.close();
    this.getUsersStore().sync();
}
});

ASP.NET コード:

Function amazonRender(ByVal numDays As Integer) As ActionResult
        Dim list As New List(Of Double)()

        Dim bucketName As String = ""
        Dim accessKey As String = ""
        Dim secretKey As String = ""
        ConnectToAmazon(bucketName, accessKey, secretKey)

        Dim client As AmazonS3
        client = Amazon.AWSClientFactory.CreateAmazonS3Client(accessKey, secretKey,  RegionEndpoint.USEast1)
        Dim request As ListObjectsRequest = New ListObjectsRequest
        request.BucketName = bucketName
        Dim response As ListObjectsResponse = client.ListObjects(request)
        Dim id As Integer = 1
        Dim responseJsonString As String = "["

        Dim responseList As List(Of String) = New List(Of String)
        For Each s3 As S3Object In response.S3Objects
            responseJsonString = responseJsonString + "{id: " + id.ToString + ", FileName: '" + s3.Key.Trim + "'},"
            id = id + 1
        Next
        responseJsonString = responseJsonString.Substring(0, responseJsonString.Length - 1)
        responseJsonString = responseJsonString + "]"
        Dim serializer As JavaScriptSerializer = New JavaScriptSerializer

        Return Json(New With {Key .success = "true", Key .users = responseJsonString}, JsonRequestBehavior.AllowGet)
    End Function
4

1 に答える 1

2

URLを指定するときにフルパスを渡す必要はありません。URLからローカルホストとポート番号「3849​​」を削除できます。FireFoxを使用している場合は、「firebug」プラグインを使用してください。ExtJSが投稿しているURLが表示され、実際の作業URLと一致させることができます。FireFoxでは、「RESTClient」と呼ばれるプラグインを使用することもできます。これにより、サーバーにリクエストを送信し、応答を確認することができます。

于 2013-01-29T04:02:21.330 に答える