0

我在使用 Ajax 将数据发送到 Mysql 数据库而不刷新页面时遇到问题。

谁能指出我可能出错的地方?我放置了一个警报:alert('it worked');在 AJAX onsuccess 部分的脚本中看看发生了什么。它还返回“它有效”。

(为了便于参考,我删除了脚本的验证部分,但我确实拥有它。)

我还检查了从变量 dataString 返回的值:

email =a3&pass=a

我不知道为什么它不将值发送到 PHP 页面。

//START THE FUNCTION FOR THE SUBMISSION OF THE LOGIN FORM VIA AJAX 

$('form[name=loginForm]').submit(function(e) { 
    e.preventDefault();

    var email = $("#email").val();
    var password = $("#pass").val();

    var dataString = 'email =' + email + '&pass=' + password;

    //the html below is just used to test the values that are derived from the dataStirng. 
    $('#showerror').html( dataString  );

    $.ajax({
        type: "POST",
        url: "cms/index.php?view=login",
        data: dataString,
        success: function() {
            alert('it worked');
            //document.newMessage.newMessageContent.value = "";
        }
    });     
});  
//END THE FUNCTION FOR THE SUBMISSION OF THE LOGIN FORM VIA AJAX  
4

1 回答 1

0

发送数据,如:

{'email': email, 'pass': password}

或者

var dataString = 'email =' + email + '&pass=' + password;
                       ^--- remove this space

所以它会

var dataString = 'email=' + email + '&pass=' + password;

Space不允许在查询字符串中使用。请参阅此处的标题URL 编码

于 2012-09-15T07:18:13.837 回答