Ajax只是打开PHP文件

时间:2013-12-26 06:58:50

标签: javascript php jquery ajax forms

我有一个表单,我试图通过PHPAcademy的教程中的ajax提交here

基本上表单需要通过ajax提交,这很简单。但是当我尝试这样做时,它只是在浏览器中打开PHP文件。请帮助!

这里是ajax代码:

$('form.login_settings').submit(function(){

var that = $(this),
    url = '../login_settings_submit.php',
    type = that.attr('method'),
    data = {};

that.find('[name]').each(function(index, value){
    var that = $(this),
        name = that.attr('name'),
        value = that.val();

    data[name] = value;
});

$.ajax({
    url: url,
    type: type,
    data: data,
    success: function(response){
        console.log(response);
    }
});

return false;
});

我尝试使用e.preventDefault();但没有运气

我也试过改变

的初始功能

$('form.login_settings').submit(function(){

$('form.login_settings').on('submit', function(){

我做错了什么?

1 个答案:

答案 0 :(得分:1)

这是非常容易的朋友:

Java脚本代码:

$(function() {
        $('form.login_settings').submit(function(e){
            e.preventDefault();
            var that = $(this),   
            type = that.attr('method'),
            data = that.serialize()    
            $.ajax({
                type: type,
                url: '../login_settings_submit.php',
                data: data,
                success: function(response) {
                    console.log(response);
                }
            });
        });
    });

使用jQuery .serialize 方法来参数化表单数据并在内部编写代码

$(document).ready(function(){
//
}); or

$(function(){
//
});

如果你想检查ajax错误,那么你可以使用

,error : function(jqXHR, exception) {
    if (jqXHR.status === 0) {
        alert('Not connected.\nPlease verify your network connection.');
    } else if (jqXHR.status === 404) {
        alert('The requested page not found. [404]');
    } else if (jqXHR.status === 500) {
        alert('Internal Server Error [500].');
    } else if (exception === 'parsererror') {
        alert('Requested JSON parse failed.');
    } else if (exception === 'timeout') {
        alert('Time out error.');
    } else if (exception === 'abort') {
        alert('Ajax request aborted.');
    } else {
        alert('Uncaught Error.\n' + jqXHR.responseText);
    }
}

成功后的方法。在生产中总是检查ajax错误是好的。