我正在编写一个简单的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
答案 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
}
});
}