2013-06-12 3 views
0

Я пытаюсь позвонить на URL-адрес ASPX; однако возвращение возвращается как отказ.Возникли проблемы с вызовом aspx из Ext JS 4.2

Я использовал этот url в других проектах программирования, но это мой первый раз, используя его с Ext JS. Я видел различные примеры онлайн, и никто, кажется, не исправил мою проблему. Ниже мой файл javascript, и любая помощь будет оценена в получении успешного возврата на мой клик.

Я использовал Fiddler, и он вызывает URL-адрес; однако даже подумал, что возвращенный JSON - это {success: true}, он не попадает в мой оператор Debugger.Launch() или не вызывает мое предупреждение «Успех».

Таким образом, он не вводит мой код C# из вызова javascript, даже если подумал, что скрипт показывает, что вызов выполняется по адресу 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(); 
     } 
    } 
} 
+0

На что реагирует сервер? Операция submit ожидает, что объект json с свойством 'success' установлен в' true'. – rixo

+0

Проблема в том, что я не получаю ответ, когда я использую этот код. Кроме того, у меня есть инструкция Debugger.Launch(), настроенная в начале моей страницы aspx. Он запускается идеально, когда я иду прямо к URL-адресу; однако он не запускается, когда я использую вышеуказанный javascript. Это говорит мне, что я сделал что-то неправильно при создании POST. – mdupre1980

+0

Вы не попадаете в проблему между доменами? Я имею в виду, что ваша страница загружается из «https: // localhost/...»? Вы хотя бы видите исходящий запрос в инструментах разработчика? – rixo

ответ

0

Ваш код правильный. Я тестировал в этом jfFiddle, просто изменив URL-адрес, и все работает. Запрос обжига, ответ получен ...

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

У вас возникли проблемы с вашим URL или вашим сервером. Как я сказал в комментариях, вы уверены, что присоединяетесь к странице с https://localhost/..., а не просто http://localhost/...?

Смежные вопросы