0

私はこれに従いましたPython辞書をJSONシリアル化するにはどうすればよいですか?そしてこれは正しいJSONコンテンツタイプは何ですか?次のようなjson応答を作成するには:

def json_response(something):
    return HttpResponse(
        simplejson.dumps(something),
        content_type = 'application/json; charset=utf8'
    )

しかし、私には2つの不満があります。

a)GoogleChromeでajaxURLを直接ヒットすると、Inspectorは言います

リソースはドキュメントとして解釈されますが、MIMEタイプapplication/jsonで転送されます。

Firefoxも試してみましたが、ファイルとしてダウンロードできます。

b)使用するjQuery.ajax場合、dataType引数を渡さない場合にのみ機能します。たとえば、dataType:'json'を指定すると、jquery.jsファイルでこのエラーが発生します。

Uncaught SyntaxError:予期しないトークン:

私は何を悪いのですか?

私はjquery1.5.2とDjangoTrunk(r15915は約2週間前に更新されました)を使用しており、同じドメインURLのみを呼び出しています。

編集:jQuery.getJSONは機能しませんが、jquery1.4.2では機能しました。リクエストヘッダーでfirebugコンソールを見ると、Content-Type:application / x-www-form-urlencodeと表示されていますが、これは問題に関連している可能性があります。

前もって感謝します

4

2 に答える 2

1
  1. はい、JSON URLにアクセスすると、一部のブラウザはそれをtext / htmlとして扱いますが、他のブラウザはそれを外部ファイルタイプとして扱います。JSONViewのようなアドオンを使用できます。

  2. 冗長ですが、これは正常に機能するはずです。タイプミスのように聞こえます。また、JSONドキュメントが有効であることをJSONLintで再確認する必要があります。

于 2011-04-06T21:26:28.953 に答える
0

jquery validateプラグインにバグがあり、最新バージョンに更新すると問題が解決しました。

この問題の詳細については、 https ://forum.jquery.com/topic/getjson-and-jquery-1-5をご覧ください。

于 2011-04-07T18:33:58.150 に答える