http://loopj.com/jquery-tokeninput/を使用してトークンを追加するChrome拡張機能を作成しています。
$(function() {
$("#token").tokenInput("http://localhost/token/search", {
preventDuplicates: true,
});
});
私のphpコードでは、jsonでエンコードされた配列を返しています(同じ関数がアプリ自体を介して使用され、機能しています):
echo json_encode($token_array);
exit;
ただし、結果は正しく返されておらず、chromeはコンソールに次のエラーを報告します。
スクリプトとして解釈されるが、MIMEタイプtext/htmlで転送されるリソース
ソースのリンクをクリックすると、正しくフォーマットされているように見えます。
[
{
"id": "5",
"name": "token1"
},
{
"id": "3",
"name": "token2"
},
{
"id": "4",
"name": "token3"
}
]
PHPコードにヘッダーを設定する必要がありますか?私は試した:
header('Content-type: text/json');
これにより、次のエラーが発生します。
リソースはスクリプトとして解釈されますが、MIMEタイプtext / jsonで転送されます:
そして私がしようとすると
header('Content-type: application/json');
リクエストしていないようです。私は何が間違っているのですか?