2010-05-11 37 views
1

我在写一个简单的ajax函数,并希望用'成功'结果填充两个文本输入字段。我想知道我的PHP语法必须返回一个对象。Jquery Ajax调用可以接受来自PHP的Succes上的对象吗?

这里是我的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

+0

你看到了什么,当您访问本身PHP页面? – Konerak 2010-05-11 14:52:21

+0

你读过这篇文章:http://docs.jquery.com/Specifying_the_Data_Type_for_AJAX_Requests? – 2010-05-11 14:54:42

+0

那么,我现在;) – 2010-05-11 15:04:33

回答

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); 
     } 
    }); 
} 
0

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

0

你的PHP页面回报:{ “称号”: “这个”}在这种情况下。 所以你可以参考结果:

alert(data.title);

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 
     } 
    }); 
} 
相关问题