0

我正在尝试调用 ASPX url;然而,回报不断地以失败告终。

我在其他编程项目中使用过这个 url,但这是我第一次在 Ext JS 中使用它。我在网上看到了各种各样的例子,但似乎没有一个能解决我的问题。以下是我的 javascript 文件,如果我的按钮点击成功返回,我们将不胜感激。

我用过 Fiddler,它正在调用 url;但是,即使返回的 JSON 是 {success: true},它也没有击中我的 Debugger.Launch() 语句或调用我的“成功”警报。

因此,即使 fiddler 显示正在对 http://localhost/login/login.aspx 进行调用,它也没有从 javascript 调用中输入我的 C# 代码。

Ext.require([
    'Ext.form.*',
    'Ext.window.Window'
]);

Ext.onReady(function () {

    Ext.QuickTips.init();

    var field = new Ext.form.field.Text({
        renderTo: document.body
    }),
        fieldHeight = field.getHeight(),
        padding = 5,
        remainingHeight;

    field.destroy();

    remainingHeight = padding + fieldHeight * 2;

    var login = new Ext.form.Panel({
        border: false,
        fieldDefaults: {
            msgTarget: 'side',
            labelWidth: 100
        },
        defaultType: 'textfield',
        bodyPadding: padding,

        items: [{
            xtype: 'box',
            region: 'west',
            width: 128,
            height: 46,
            autoEl: { tag: 'img', src: 'images/logo.png' },
            style: 'margin: 10px 0px 15px 15px'
        }, {
            allowBlank: false,
            fieldLabel: 'Company Name',
            name: 'company',
            emptyText: 'Company ID',
            style: 'margin: 10px 0px 10px 30px'
        }, {
            allowBlank: false,
            fieldLabel: 'User ID',
            name: 'user',
            emptyText: 'User Name',
            style: 'margin: 10px 0px 10px 30px'
        }, {
            allowBlank: false,
            fieldLabel: 'Password',
            name: 'pass',
            emptyText: 'Password',
            inputType: 'password',
            style: 'margin: 10px 0px 10px 30px'
        }]
    });

    new Ext.window.Window({
        autoShow: true,
        title: 'Support Tools Login',
        resizable: false,
        closable: false,
        width: 350,
        height: 250,
        layout: 'fit',
        plain: true,
        items: login,
        constrain: true,
        draggable: false,

        buttons: [{
            text: 'Login',
            formBind: true,

            handler: function () {
                login.getForm().submit({
                    method: 'POST',
                    url: 'http://localhost/login/login.aspx',
                    waitTitle: 'Connectiong',
                    waitMsg: 'Sending data...',

                    success: function (login, action) {
                        Ext.Msg.alert('Success');
                    },

                    failure: function (login, action) {
                        Ext.Msg.alert('Failure')
                    }
                });
            }
        }]
    });
});

.aspx 文件:

using System;
using System.Diagnostics;
using System.Web;
using SupportToolsCommon;

namespace App.login
{
    public partial class login : System.Web.UI.Page
    {
        private static Database db;

        protected void Page_Load(object sender, EventArgs e)
        {
            Response.Clear();
            Response.Write("{success: true}");
            Response.End();
        }
    }
}
4

1 回答 1

0

你的代码是正确的。我在这个jfFiddle中进行了测试,只需更改 url,一切正常。请求正在触发,响应已收到...

url: '/echo/json/',
params: {json: Ext.encode({success: true}), delay: .5},

所以你的 URL 或服务器有问题。正如我在评论中所说,您确定您是使用https://localhost/...而不是简单地访问页面http://localhost/...吗?

于 2013-06-12T12:40:32.270 回答