javascript — Почему мой вызов $ getjson не работает?

Я относительно новичок в этом php, и я пытаюсь получить доступ к файлу php из моего файла javascript и запустить его в html. Мне сказали, что $ getjson — лучший способ сделать это, но я не вижу, как мой php-скрипт прошёл мимо моего html:

HTML:

<!doctype html>
<html lang="en">

<head>
<div class="button"></div>
<script src="http://code.jquery.com/jquery-1.7.js"></script>
<script src="Test.js" type="text/javascript"></script>
</head>
<body>
<a href="#" id="getdata-button">Get JSON Data</a>
<div id="showdata"></div>
</body>

</html>

Javascript:

$(document).ready(function(){
$( document ).on("click","#getdata-button", function() {
//test Confirmed
alert('hello8');
$.getJSON('Test.php', function(data) {
//noresponse
alert('hello5');
$('#showdata').html("item1="+data.item1+" item2="+data.item2+" item3="+data.item3+"");
});
});
});

test.php:

    < ?php
$items = array(
'item1' => 'I love jquery4u',
'item2' => 'You love jQuery4u',
'item3' => 'We love jQuery4u'
);

header('Content-type: application/json');
echo json_encode($items);

?>

Мой ожидаемый результат в item1 / item2 / item3 в HTML.

-1

Решение

Сначала убедитесь, что ваш JavaScript-код действительно запущен / выполнен.
http://api.jquery.com/live/ говорит:

Начиная с jQuery 1.7, метод .live () устарел. Используйте .on (), чтобы присоединить обработчики событий. Пользователи старых версий jQuery должны использовать .delegate () вместо .live ().

А потом использовать что-то вроде

<?php // no space between < and ? or php
$items = array(
'item1' => 'I love jquery4u',
'item2' => 'You love jQuery4u',
'item3' => 'We love jQuery4u'
);
// the (configuarable) default for the content-type is text/html
// -> let the client "manually" know the response is json
header('Content-type: application/json');
echo json_encode($items);

как ваш серверный скрипт. (печатные издания: {"item1":"I love jquery4u","item2":"You love jQuery4u","item3":"We love jQuery4u"})

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]