> 백엔드 개발 > PHP 튜토리얼 > getJSON 교차 도메인 구문 오류 문제 분석_php 예

getJSON 교차 도메인 구문 오류 문제 분석_php 예

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-05-16 20:38:53
원래의
983명이 탐색했습니다.

어제 저는 휴대폰을 클릭하여 json 측에서 데이터를 확인하고 동시에 가져오는 함수를 작성했습니다.

자바스크립트 코드는 다음과 같습니다.

$(".check_mobile").click(function(){
var mobile = $('.mobile').val();
$.getJSON("http://www.test.com/user.php?mobile="+mobile+"&format=json&jsoncallback=?", function(data){
if (data.succ == 1) {
var html = "<input type='hidden' name='cityid' value='"+data.data.cityid+"'><input type='hidden' name='communityid' value='"+data.data.communityid+"'>";
$(".r_m").append(html);
}
});
});
로그인 후 복사

user.php 코드는 다음과 같습니다.

<&#63;php
if($_GET){
$mobile = $_GET['mobile'];
if ($mobile == 'XXXX') {
$user = array(
'city' =>'石家庄',
'cityid' =>'1',
'community' =>'紫晶悦城',
'communityid'=>'1'
);
$sucess = 1;
$return = array(
'succ' =>$sucess,
'data' => $user
);
}else {
$sucess = 2;
$return = array(
'succ' =>$sucess
);
}
echo json_encode($return);
}
&#63;>
로그인 후 복사

다음과 같습니다.

문제는

Firefox: SyntaxError: before 문이 없습니다.

해결 방법은 다음과 같습니다.

header("Access-Control-Allow-Origin:http:www.test.com");
$b = json_encode($return);
echo "{$_GET['jsoncallback']}({$b})";
exit;
로그인 후 복사

최종 완성 코드:

<&#63;php
header("Access-Control-Allow-Origin:http:www.test.com");
if($_GET){
$mobile = $_GET['mobile'];
if ($mobile == '18831167979') {
$user = array(
'city' =>'石家庄',
'cityid' =>'1',
'community' =>'紫晶悦城',
'communityid'=>'1'
);
$sucess = 1;
$return = array(
'succ' =>$sucess,
'data' => $user
);
}else {
$sucess = 2;
$return = array(
'succ' =>$sucess
);
}
$b = json_encode($return);
echo "{$_GET['jsoncallback']}({$b})";
exit;
}
&#63;>
로그인 후 복사

PHP에 헤더("Access-Control-Allow-Origin:http:www.test.com") 코드가 없으면

가 나타납니다.

XMLHttpRequest는 ''을 로드할 수 없습니다. 요청된 리소스에 'Access-Control-Allow-Origin' 헤더가 없습니다. 따라서 Origin ''에 액세스가 허용되지 않습니다.
echo "{$_GET['jsoncallback']}({$b})" 코드가 누락된 경우

Google Chrome: Uncaught SyntaxError: 예기치 않은 토큰:
Firefox: SyntaxError: before 문이 없습니다.

관련 라벨:
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿