2011-06-16 80 views
0

我请求一些帮助/建议。使用jquery对话框的ftp登录

我有一个jQuery表单对话框来收集usr/pwd为了做一个ftp登录。

我有窗体工作,对话框显示字段的正确值,但我有对话框不工作(我与jquery新手)没有任何反应。我的猜测是.ajax,但我无法确定。

这里是我的代码:

$(function(){ 
    $('#ftp').dialog({ 
    autoOpen: false, 
    show: 'highlight', 
    hide: 'scale', 
    modal: true, 
    buttons: { 
     'send': function() { 
      var name = $('#usr').val(), password = $('#pwd').val(); 
      var myftp = $(this); 

      if (name != '' && password != '') { // alert('name=' + name + '&pass=' + password); 
       $.ajax({ 
        type: 'POST', 
        url: 'ftp.php', 
        data: 'name='+name+'&pass='+password, 
        success: function(msg){ 
        alert(msg); 
        $(myftp).dialog('close'); 
        } 
       }); 
      } 
     }, 
     'close': function() { $(this).dialog('close'); } 
    }, 
    resizable: false, 
    width: '500px' 
}); 

ftp.php是一个简单的header ('location: ...)调用用适当的参数的FTP。

#ftp是包含usr/pwd的表单ID。

我不知道jQuery是否具有相同的功能。我更熟悉php

我真的很感谢你对此的帮助。

问候,

回答

0

我解决了。最后,我取代AJAX,其结果是:

if (name != '' && password != '') {     //alert('usr='+name+'&pwd='+password); 
    window.parent.location="http://domain.com/ftp.php?" + 'name='+name+'&password='+password; 
} 

后面我将用$(“#myForm会”)提交尝试()来代替,以避免在打开密码旅行。但是这根据我自己的要求运作。

1

我不是很熟悉,无论是jQuery的对话框或PHP的header(),但我看到一对夫妇的事情,你可以做,可以帮助你解决这个关于AJAX请求。

你成功的功能后,首先补充一点:

error: function(jqXHR, textStatus, errorThrown) { 
    alert(jqXHR + " " + textStatus + " " + errorThrown); 
} 

其次,一两件事,不应该影响对AJAX,但至少会使其更具可读性是改为定义数据参数作为一个地图,而不是一个字符串,像这样:

data: ({ 
    name: name, 
    pass: password 
}), 
+0

谢谢您的输入。我会考虑。 – notuo 2011-06-16 14:26:21

0

我解决了这个:

相反AJAX的我只是用window.parent.location就象这样:

if (name != '' && password != '') {    
    window.parent.location="http://domain.com/ftp.php?" + 'usr='+name+'&pwd='+password; 
} 

后面我将用$("#myForm").submit(),而不是尽量避免在公开密码旅行。但是这根据我自己的要求运作。