2011-06-30 6 views
1

が、私は次の応答を返すのasp.net ASMXのWebMethod属性持って動作します:jQueryが動作しませんが、テキストのparseJSONは

<?xml version="1.0" encoding="utf-8"?> 
<string xmlns="http://tempuri.org/">{"field1":"1","field2":"2","field3":"3","field4":"4"}</string> 

私はjqueryのAJAX機能を使用してこのWebメソッドを呼び出していますが。 dataType: 'json'を指定すると、解析エラーが発生します。ただし、この文を省略すると正常に返され、成功関数でjQuery.parseJSON(res.text)を実行すると正しく動作します。

私は間違っていますか?私のwebserviceは、dataType: 'json'が失敗するajax呼び出しを引き起こしている不良ヘッダー情報を返していますか?

+0

@Gabe:有効なJSONであるためには、すべてのキーを引用符で囲む必要があります。 Javascriptでは、オプションです。 (キーワードを除く) – SLaks

+0

あなたは ''と他のメタタグは必要ありません。必要なのはJSONのデータです – user482594

答えて

0

WebサービスがJSONではなくXMLを返しています。

datatype: 'json'は、JSONがXMLタグでラップされていない純粋なJSONを返す必要があります。

0

私はいつもちょうどなしXMLラッパーで

{"field1":"1","field2":"2","field3":"3","field4":"4"} 

を返し、問題を抱えていたことがありません。

+0

xmlラッパーを削除するにはどうすればよいですか? asp.netにasynch webmethodを作成しました。私は構造体オブジェクトを返しているし、私はWebメソッドの次の宣言を持っている:[WebMethod] [ScriptMethod(ResponseFormat = ResponseFormat.Json)] – Mike

+0

残念ながらasp.netに慣れていないが、私はあなたがメソッドをWebサービスから外します。または、実際にjQuery.parseJSON()を呼び出すだけです。 – jzilla

関連する問題