0

问题是,json文件没有显示。我使用Xampp作为本地服务器。

.php 文件:

$array = array(
  array(
    "title" => "Erster Eintrag",
    "description" => "Description",
    "link" => "http://",
    "pubDate" => "02.07.2015"
  ),
  array(
    "title" => "Zweiter Eintrag",
    "description" => "Description",
    "link" => "http://",
    "pubDate" => "02.07.2015"
  )      
);
echo json_encode($json);

.html 文件:

$ajax({
url:'localhost/uebung/staticfeed.php',
type:'POST',
data:'data',
dataType: 'json',
success: function(result){
  $('#feeds').html(result[0]);
}
})
4

4 回答 4

1

json_encode在 PHP 中使用

返回包含值的 JSON 表示形式的字符串。

使用$arraytojson_encode而不是$json.

echo json_encode($array);
///             ^^^^^^^^^
于 2015-07-02T13:29:46.103 回答
1

JavaScript 使用 $.ajax,然后使用完整的 URL。

$.ajax({
url:'http://localhost/uebung/staticfeed.php',
type:'POST',
data:'data',
dataType: 'json',
success: function(result){
  $('#feeds').html(result[0]);
});

您还需要在 php 文件中对数组进行编码。

echo json_encode($array);
于 2015-07-02T13:32:01.400 回答
1

更改$ajax$.ajax,这将删除代码中的错误,其他一切正常

于 2015-07-02T13:32:33.890 回答
1

您的 PHP 答案中缺少 JSON 标头,Jquery 可能会将您的响应解释为纯文本或 HTML ...

此外,您正在回显$json并且您的数组是$array.

试试这个PHP:

header('Content-type: application/json');
$array = [["title" => "Erster Eintrag","description" => "Description","link" => "http://","pubDate" => "02.07.2015"],["title" => "Zweiter Eintrag","description" => "Description","link" => "http://","pubDate" => "02.07.2015"]];
echo json_encode($array);

这在你的 HTML 上:

$.ajax({type: "POST", url: "localhost/uebung/staticfeed.php", data:data, dataType: "json", timeout: 25000, success: function (result) {
 $('#feeds').html('First array:' + result.[0].title + '<br />Seccond array:' + result.[1].title );
}});

您需要在 [result] 内的数组中选择值 ...

于 2015-07-02T16:30:48.953 回答