내가 전역 변수에 접근 문제로 실행 해요에서 jQuery.ajax 호출에서 글로벌 PHP 변수에 액세스 할 수 없습니다.는 미디어 위키
내 jQuery를 AJAX 호출은 다음과 같습니다
내 GeneralFunctions.php 파일은 다음과 같습니다jQuery.ajax({
url: 'GeneralFunctions.php',
type: 'GET',
dataType: 'json',
data: {
text: anchorText
},
success: function (data) {
alert("data: " + data);
}
});
: 나는 클릭 이벤트를 통해 jQuery를 호출을 실행하면
<?php
if (isset($_GET['text'])) {
jsonInlineParse((string) $_GET['text']);
}
function jsonInlineParse($wikiText)
{
global $wgOut;
$return = $wgOut->parseInline($wikiText); //fails here
echo json_encode($return);
}
?>
내가 멀리로 얻을 parseInline() 함수. 글로벌 변수는 범위에 정의되지 나는 오류 얻을 않습니다 :
치명적인 오류 : 에 비 객체() 멤버 함수의 parseInline에 전화 /path/to/file/GeneralFunctions.php을 54
나는 AJAX 호출이 수행 될 때 전역 변수를 구문 분석 호출을하고 정의하는 방법을 잘 모르겠어요 라인 에?
UPDATE
$ wgOut는 미디어 위키와 관련된 OutputPage 개체입니다. 그것은 페이지의 모든 HTML을 보유하고 MediaWiki 프레임 워크 전체에서 페이지 나 기사에 내용을 추가하는 데 사용됩니다. 이것은 서버 측에서 wiki 기사에 대한 사용자 정의 출력을 작성하는 데 사용됩니다. 나는 위키의 많은 부분에 HTML을 추가하거나 폼을 만들 때 사용합니다. 여기
상세 정보 : http://www.mediawiki.org/wiki/Manual : $ wgOut
업데이트 2
@Juhana 나는 이전과 같은 오류가 발생하는 다음과 같이 내 기능을 변경했습니다. 각 에코는 "NULL"을 출력합니다.
<?php
function jsonInlineParse($wikiText)
{
include_once '/path/to/file/includes/OutputPage.php';
include_once '/path/to/file/includes/parser/Parser.php';
echo var_dump($wgOut);
global $wgOut;
echo var_dump($wgOut);
$return = $wgOut->parseInline($wikiText);
echo $return;
echo json_encode($return);
}
?>
그래서'$ wgOut'은 정확히 무엇입니까? –
어떤 종류의 물건입니까? 더 많은 코드를 보여주세요. – Pete
var_dump ($ wgOut)의 출력을 게시하십시오. –