이 글은 주로 반환 PHP 인터페이스를 호출하고 json 데이터를 반환하는 ajax 구현 방법을 소개합니다. 관심 있는 친구들이 참고하면 좋겠습니다.
php 코드는 다음과 같습니다.
<?php header('Content-Type: application/json'); header('Content-Type: text/html;charset=utf-8'); $email = $_GET['email']; $user = []; $conn = @mysql_connect("localhost","Test","123456") or die("Failed in connecting database"); mysql_select_db("Test",$conn); mysql_query("set names 'UTF-8'"); $query = "select * from UserInformation where email = '".$email."'"; $result = mysql_query($query); if (null == ($row = mysql_fetch_array($result))) { echo $_GET['callback']."(no such user)"; } else { $user['email'] = $email; $user['nickname'] = $row['nickname']; $user['portrait'] = $row['portrait']; echo $_GET['callback']."(".json_encode($user).")"; } ?>
js 코드는 다음과 같습니다.
<script> $.ajax({ url: "http://test.localhost/UserInterfaceForChatroom/UserInformation.php?email=pshuyue@gmail.com", type: "GET", dataType: 'jsonp', // crossDomain: true, success: function (result) { // data = $.parseJSON(result); // alert(data.nickname); alert(result.nickname); } }); </script>
두 가지 문제가 발생했습니다.
1 , 아니요. 질문:
Uncaught SyntaxError: Unexpected token :
해결책은 다음과 같습니다.
이것은 방금 나에게 일어났으며 그 이유는 위의 이유가 아닙니다. 저는 jQuery 명령 getJSON을 사용하고 JSONP를 사용하기 위해 callback=?을 추가했으며(도메인 간 이동이 필요했기 때문에) JSON 코드 {"foo":"bar"}를 반환하고 오류가 발생했습니다.
이것은 jQuery17209314005577471107_1335958194322({"foo":"bar"})
이것을 달성하기 위해 사용한 PHP 코드는 다음과 같습니다. JSON(콜백 없이)을 사용하면 성능이 저하됩니다.
$ret['foo'] = "bar"; finish(); function finish() { header("content-type:application/json"); if ($_GET['callback']) { print $_GET['callback']."("; } print json_encode($GLOBALS['ret']); if ($_GET['callback']) { print ")"; } exit; }
나중에 누군가에게 도움이 되기를 바랍니다.
2. 두 번째 질문:
json 데이터를 구문 분석합니다. 위 자바스크립트에서 볼 수 있듯이 jquery.parseJSON() 메서드를 사용하지 않고 이 메서드를 사용하기 시작했는데 항상
VM219:1 Uncaught SyntaxError: Unexpected token o in JSON at position 1 오류가 보고되었습니다. 나중에 jquery.parseJSON() 메서드가 없으면 모든 것이 잘 작동합니다. 이유를 모르겠어요.
관련 권장 사항:
php_php 기본의 ini 구성 원칙에 대한 자세한 설명
php 형식의 json 함수 샘플 code_php 기술
php_php 기본에서 {} 중괄호의 의미는 무엇입니까
위 내용은 Ajax는 json 데이터를 반환하기 위해 return php 인터페이스를 호출하는 방법을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!