ExtJS没有收到POST的响应

时间:2013-06-12 17:15:53

标签: c# javascript html extjs

当我在我的浏览器中输入URL http://localhost/login/login.aspx时,我看到我的回复是{success:true}。当我运行我的加载我的html页面时,我可以从Fiddler和调试器看到aspx页面被调用;然而,没有任何东西被返回到我的javascript,它转到FAILURE而不是SUCCESS。

我在其他编程项目中使用过这个url,但这是我第一次在Ext JS中使用它。我在网上看过各种各样的例子,似乎没有一个能解决我的问题。下面是我的javascript文件,任何帮助将在我的按钮点击成功返回时受到赞赏。

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

非常感谢任何帮助。

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();
        }
    }
}

default.html页面

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
  <title>Login Page</title>
  <!-- ExtJS -->
  <script type="text/javascript" src="extjs/ext-all.js"></script>

  <!-- CSS -->
  <link rel="stylesheet" type="text/css" href="css/support-tools.css" />
  <link rel="stylesheet" type="text/css" href="extjs/resources/css/ext-all.css" />

  <script type="text/javascript" src="scripts/login.js"></script>
</head>

<body id="login-page"></body>

</html

1 个答案:

答案 0 :(得分:0)

尝试替换此行:

Response.Write("{success: true}");

具有格式良好的JSON(属性名称必须全部用JSON中的引号括起来,而不是javascript):

Response.Write("{\"success\": true}");