2016-06-15 20 views
0

いくつかのJSONをエコーするPHPファイルでgetJSON関数を使用しようとしています。 JSONファイルとして期待されるJSONをJSONファイルとして保存すると完璧に動作しますが、URLとしてPHPファイルを使用すると、1行目のPHPを解析するときにエラーが発生するため、URLとして機能しません。GetJSONがPHPファイルで動作しない

PHPファイル:

<?php 

$jsondata = array(); 

if(isset($_GET['param'])) { 

if($_GET['param'] == 'valor') { 
    $jsondata['success'] = true; 
    $jsondata['message'] = 'Correct.'; 
} else { 
    $jsondata['success'] = false; 
    $jsondata['message'] = 'Incorrect.'; 
} 
header('Content-type: application/json; charset=utf-8'); 
echo json_encode($jsondata); 
exit(); 
} 

?> 

そして、これは私はJavascriptファイルで使用していますものです:

$.getJSON('test.php', {format: "json"}, function(data) { 
     window.alert("Loaded"); 
    }).fail(function(data, textStatus, error) { 
     console.error("getJSON failed, status: " + textStatus + ", error: "+error) 
    }); 

私はそれが動作するtest.json test.phpをから変更した場合。

編集:私は、MySQLを使用しての代わりに、mysqliのと、サーバがテーブルを出力し、その後、私のJSONと私はJSONエラーが解析持っていた理由thatsの... だけでmysqliのためにMySQLからの変更修正されました。 ありがとうございます。

if($_GET['param'] == 'valor') { 
    $row = array('success'=> true,'message'=>'Correct'); 
    array_push($jsondata,$row); 
} else { 
    $row = array('success'=> false,'message'=>'Incorrect'); 
    array_push($jsondata,$row); 
} 

を、エコーは同じまま::

+0

'PHPファイル:(PHPタグが表示されない、なぜかわからない)'これはどういう意味ですか? – Daan

+0

ここに表示されていないphpファイルのヘッダーがありますが、私のファイル上にあります。 – Slei

+0

私はあなたのためにそれを編集しました。 – Daan

答えて

0

これを試してみて、私はJQuery.IとJSONやPHPで動作するように持っていたとき、私はこのようにコード化されてきた

echo json_encode($jsondata); 

それを願っていますあなたのためにも働きます。

+0

私は同じエラーを取得しておいてください。 getJSONが失敗した、状態:parsererror、エラー:にSyntaxError:JSON.parse:行1列のJSONデータの1 で予想外の文字私がgetJSONは文字通り読み込むため、問題があると思いますPHPをエコーjson_encodeを読み込む代わりに... – Slei

+0

JSONに任意のアクセント記号を付けて単語を追加しようとしていますか? もしそうなら、文字列をエンコードする必要があります.JQueryはUTF-8文字列しか受け入れません。 'utf8_encode("アクセント付きの単語 ")' – ThonyRG

+0

編集されたメインポスト – Slei

関連する問題