我已经尝试了8个小时而且我没有得到它。
使用$.ajax
我通过PHP脚本从我的数据库中获取数据。但在这种情况下它似乎没有用,我不是没有原因。无论如何,data2
都是空的。
$.ajax({
url: 'http://myurl.de/get',
data: [{ 'person_id': 2, 'action': 'getLinks' }],
method: 'POST',
success: function(data2){
console.log(data2);
}
});
PHP脚本(重要部分)看起来像这样
function getLinks($person_id)
{
/* sql here */
/* format sql-output here */
return $output;
}
if($_POST['action'] == 'getLinks'){
echo getLinks($_POST['person_id']);
}
有趣的是,我在JavaScript文件中有一些确切的AJAX请求,上面有一些行与另一个动作,它完美地工作。当我尝试直接在PHP文件中获取数据时,我得到了结果。返回$output
始终包含数据,但不会出现在JavaScript文件中。
AJAX总是调用success-function,但是没有data2。
答案 0 :(得分:4)
尝试仅将对象用作data
,而不将其包装在数组中:
$.ajax({
url: 'http://myurl.de/get',
data: { 'person_id': 2, 'action': 'getLinks' },
method: 'POST',
success: function(data2){
console.log(data2);
}
});
答案 1 :(得分:1)
试试这个
$.ajax({ url: 'http://myurl.de/get',
data: { 'person_id': 2, 'action': 'getLinks' },
method: 'POST',
success: function(data2){
console.log(data2);
}
});
我已更新数据行
使用它:
data: { 'person_id': 2, 'action': 'getLinks' },
而不是
data: [{ 'person_id': 2, 'action': 'getLinks' }],
答案 2 :(得分:1)
数据可以是object
或string
或array
。当您将data
作为
data: [{ 'person_id': 2, 'action': 'getLinks' }],
它基本上是[>Object]
,它是一个对象数组。如果有适当的机制在服务器端检索它,您仍然可以以这种方式发送。
但是发送{ 'person_id': 2, 'action': 'getLinks' }
您发送的数据为object
&我认为您的服务器端配置为接受此格式的数据