如何为php文件制作通用的ajax函数

时间:2016-09-20 18:19:54

标签: javascript php jquery json ajax

我希望你能理解我的问题。我正在尝试制作一个通用的ajax函数,它将一些数据发送到php文件并获得服务器的响应。这里有一个非常相似的问题jquery - creating a generic ajax function,但是我遇到了以json格式发送数据的麻烦。让我为您提供JS代码:

function CallMethod(url, parameters, successCallback) {
            $.ajax({
                type: 'POST',
                url: url,
                data: JSON.stringify(parameters),
                contentType: 'application/json;',
                dataType: 'json',
                success: successCallback,
                error: function(xhr, textStatus, errorThrown) {
                    console.log(errorThrown);
                }
            });
        }
var pars = {
    id:"1",
    message:"hello world"
};
function onSuccess(data) {
    console.log(data);
}
CallMethod('ajaxGeneric.php', pars, onSuccess);

现在这是我的php文件' ajaxGeneric.php':

<?php

$id = $_POST["id"];
$msg = $_POST["message"];

echo $id;
echo $msg;
?>

当我运行该页面时,我在Chrome控制台中出现此错误:

SyntaxError:意外的令牌&lt;在JSON的第0位(...)

php文件似乎也有一些问题试图获取帖子值。我究竟做错了什么?发送数据?获取数据?

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

尝试删除JSON.stringify并直接传递参数,以便您的功能看起来像这样

function CallMethod(url, parameters, successCallback) {
        $.ajax({
            type: 'POST',
            url: url,
            data: parameters,
            contentType: 'application/json;',
            dataType: 'json',
            success: successCallback,
            error: function(xhr, textStatus, errorThrown) {
                console.log(errorThrown);
            }
        });
    }