0

我寻求一些帮助/建议。

我有一个 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

我真的很感谢你在这方面的帮助。

问候,

4

3 回答 3

1

我对 jQuery 的对话框或 PHP 的 header() 都不是很熟悉,但我看到一些你可以做的事情可能会帮助你解决关于 AJAX 请求的问题。

首先在你的成功函数之后添加这个:

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

其次,不应该影响 AJAX 但至少会使其更具可读性的一件事是将您的数据参数定义为映射而不是字符串,如下所示:

data: ({
    name: name,
    pass: password
}),
于 2011-06-16T03:26:32.643 回答
0

我解决了。最后我替换了ajax,结果是:

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

稍后我将尝试使用 $("#myForm").submit() 来避免密码在公开中传输。但这根据我自己的要求工作。

于 2011-06-16T14:28:12.230 回答
0

我解决了这个问题:

我只是使用了 window.parent.location 而不是 ajax:

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

我稍后会尝试使用,$("#myForm").submit()以避免密码在公开场合传输。但这根据我自己的要求工作。

于 2011-06-18T14:01:17.947 回答