2

ASP .netに慣れようとしているので、「helloworld」の後にいくつかの単純なバックエンド要求処理を追加しようとしていました。だから私は自分のページからaspページへのAjaxリクエストを行っています:

    Ext.Ajax.request({
        type: 'POST',
        url: 'http://http://localhost:49852/Default.aspx',
        params: {
            html        : {'array': document.body.innerHTML}
        },
        success : function(response){
        console.log('RESPONSE !', response);
            //me.onSuccess(response, callback, errback);
        },
        failure : function(response){
            console.log('RESPONSE FAIL !', response);
        }
    });

そしてこれは私のページです:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

そして、その背後にあるコード(構造がこのようになるかどうかはわかりませんが、フォームを使用せずに処理するリクエストの例を見つけることができませんでした):

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page{
    protected void Page_Load(object sender, EventArgs e){
        if (this.Request["html"] != null){
            this.Response.Write("{'success': true, 'msg': 'Its working'}");
       }
        else{
            this.Response.Write("{'success': false, 'msg': 'Error in request data.'}");
        }
    }
}

ブラウザでこのアドレスにアクセスすると、適切な(false)テキストが表示されます。しかし、XHRリクエストを試していると、Firebugコンソールにリクエストがまったく表示されず、[ネット]タブに[オプション]応答が表示されます。

ここに画像の説明を入力してください

コンソールにログインすると、次のようになります。

ここに画像の説明を入力してください

ここで何が起こっているのかアイデアはありますか?

4

2 に答える 2

2

URLが間違っています。それは:

http://http://localhost:49852/Default.aspx

いつあるべきか:

http://localhost:49852/Default.aspx
于 2012-12-20T22:29:11.947 に答える
1

ページの代わりにWebServiceマーク付きを使用してみてください。SciptService

これがMSDNの例です。

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService]
public class SimpleWebService : System.Web.Services.WebService 
{
    [WebMethod]
    [ScriptMethod]
    public string GetServerTime() 
    {
        string serverTime =
            String.Format("The current time is {0}.", DateTime.Now);

        return serverTime;
    }
}
于 2012-12-21T14:29:05.697 に答える