0

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');

リクエストしていないようです。私は何が間違っているのですか?

4

1 に答える 1

0

text/javascriptコンテンツタイプである必要があります:

header('content-type:text/javascript');

于 2012-11-24T13:31:54.203 に答える