Jquery Ajax调用可以从PHP接受成功对象吗?

时间:2010-05-11 14:48:58

标签: php javascript jquery ajax

我正在编写一个简单的ajax函数,并希望用“成功”结果填充两个文本输入字段。我想知道我的php语法必须返回一个对象。

这是我的Javascript函数

function editModule(a){
    data = {moduleNum:a}
    $.ajax({
        type: 'POST',
        data: data,
        url: 'includes/ajaxCalls.php',
        success: function(data) {
            alert(data['title']); // <-- This is where I'm not sure what to return from php
        }
    });
}

这是我的php文档(到目前为止,这是我需要知道如何返回对象的地方)...

<?php
$data =  array('title'=>'this');
echo json_encode($data);

当我运行该功能时,我只是收到警告“未定义”。

建议?

谢谢, -J

4 个答案:

答案 0 :(得分:2)

试试这个。您可以指定您期望JSON对象,然后您可以相应地解释data

function editModule(a){
    data = {moduleNum:a}
    $.ajax({
        type: 'POST',
        data: data,
        dataType: 'json',
        url: 'includes/ajaxCalls.php',
        success: function(data) {
            alert(data.title);
        }
    });
}

答案 1 :(得分:0)

我已经通过jQuery Ajax调用从服务器返回了JSON数据,而不是PHP,但它应该是相同的。只要您将响应的内容类型设置为application / json,jQuery就应该将responseText视为JSON字符串。或者你也可以在你的Ajax调用中设置dataType:“JSON”,告诉jQuery你期望JSON。

答案 2 :(得分:0)

在这种情况下,您的php页面会返回: {“title”:“this”} 。 所以你可以用:

来引用结果

警报(data.title);

答案 3 :(得分:0)

您可能需要指定数据类型:

function editModule(a){
    data = {moduleNum:a}
    $.ajax({
        type: 'POST',
        data: data,
        url: 'includes/ajaxCalls.php',
        dataType: 'json',
        success: function(data) {
            alert(data['title']); // <-- This is where I'm not sure what to return from php
        }
    });
}