使用ajax时出现500内部服务器错误

时间:2013-08-12 14:18:25

标签: php javascript jquery ajax

我在进行ajax调用时收到500内部服务器错误。

这是进行调用的javascript / jquery:

$.ajax({url: 'ServicesAjaxHandler.php',
        data: {action: 'add'},
        type: 'post',
        success: function(output) {
            alert(output);
        },
        error: function (xhr, ajaxOptions, thrownError) {
           alert(xhr.status);
           alert(xhr.responseText);
           alert(thrownError);
        }
    });

以下是调用的php文件:

<?php

if(isset($_POST['action']) && !empty($_POST['action'])) {
    $action = $_POST['action'];
    switch($action) {
        case 'add' : add($_POST);break;
    }
}

public function add($data) {
    return 'test';
}
?>

xhr.responseText什么都不返回。

我的PHP代码是否存在导致此错误的问题?

2 个答案:

答案 0 :(得分:3)

在使用它们之前定义你的功能,EG:

function add($data) {
    return 'test';
}

if(isset($_POST['action']) && !empty($_POST['action'])) {
    $action = $_POST['action'];
    switch($action) {
        case 'add' : add($_POST);break;
    }
}

如果你有这样的设置,那么使用关键字public是面向对象的应用程序:

class Test_Class { 

    public function add($data) {
        return 'test';
    }

}

使用关键字public是可以接受的,但由于您没有使用对象进行功能交互,因此请删除工作集的关键字

答案 1 :(得分:2)

尝试将public function更改为function

function add($data) {
    return 'test';
}