MediaWikiフレームワークでphp関数へのAJAX呼び出しを行うと、グローバル変数にアクセスする際に問題が発生しています。MediaWikiのjQuery.ajaxコールでグローバルPHP変数にアクセスできない
私のjQueryのAJAX呼び出しは、次のようになります
jQuery.ajax({
url: 'GeneralFunctions.php',
type: 'GET',
dataType: 'json',
data: {
text: anchorText
},
success: function (data) {
alert("data: " + data);
}
});
マイGeneralFunctions.phpファイルは次のようになります。
<?php
if (isset($_GET['text'])) {
jsonInlineParse((string) $_GET['text']);
}
function jsonInlineParse($wikiText)
{
global $wgOut;
$return = $wgOut->parseInline($wikiText); //fails here
echo json_encode($return);
}
?>
私はクリックイベントを通じてjQueryのコールを実行すると、私は限り取得しますparseInline()関数グローバル変数がスコープで定義されていないと私はエラーを取得ん:
致命的なエラー:/path/to/file/GeneralFunctions.phpに非オブジェクト上)(メンバ関数parseInlineに呼び出し私が解析コールを行い、AJAX呼び出しが行われたときにグローバル変数を定義するかどうかはわかりませんライン
に?
UPDATE
$ wgOutは、MediaWikiのに関連付けられているOutputPageオブジェクトです。これはページのすべてのHTMLを保持し、MediaWikiフレームワーク全体を通してページまたは記事にコンテンツを追加するために使用されます。これは、サーバー側でwiki記事のカスタマイズされた出力を作成するために使用されます。私はそれを使ってフォームを作成したり、ウィキの多くにHTMLを追加したりします。ここ
詳細情報:http://www.mediawiki.org/wiki/Manual:$ wgOut
UPDATE 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)の出力をポストします。 –