私はajax呼び出しを行っていますが、ここではデータを送信していません。以前のリクエストですでに設定されている応答としてデータをフェッチしています。サーバー側では、jsonObjectを構築して送信していますが、すべてのデータがテキストであるため、application/x-jsonまたはtext/x-jsonを使用する必要があるcontentTypeは何ですか。
2 に答える
2
これは簡単に検索できるはずですが、とにかく: 正しいJSONコンテンツタイプは何ですか?
(TL; DR: JSONテキストのMIMEメディアタイプはapplication/json
)
于 2012-11-16T09:16:17.803 に答える
1
サーバー側では、 MediaType.APPLICATION_JSON(jersey javaを使用している場合)を返す必要があります。
クライアント側(js)では、datatype:"JSON"を使用する必要があります。 (コンテンツタイプはサーバーに送信するデータのタイプを指定するために使用され、データタイプは応答としてサーバーに期待するデータのタイプであるため、コンテンツタイプではありません)。
例:
1.サーバーサイド(jersey java- JAX-RS):
@GET
@Path("/yourpath.json")
@Produces(MediaType.APPLICATION_JSON)
public returnSomething functionName(){
...
...
}
2.クライアント側(ajax呼び出し):
$.ajax({
type: "GET",
url: ajaxUrl,
datatype:"JSON",
success: function(jsonData){
//Do something
},
error: function(jqXHR, textStatus){
//handle connection errors
}});
これは、jsonに通常のテキストが含まれている場合でも機能します。
于 2012-11-16T09:37:32.920 に答える