2011-11-19 10 views
1

UPDATEはJSON obejctではJavaScript

をクラッシュすることなく、サーバーからAjaxの応答であったかどうかをチェックする。ここAjaxはサーバから

success: function(responseimage) 
      { 
..... 
} 

をいくつかresponseimageを受けるこれは、オブジェクトを取得し、結果変数に格納します。

result = jQuery.parseJSON(responseimage); 

応答画像は常にポジティブです。それは常に何かを持っています

問題は、時には応答イメージにはJSONオブジェクトがありません。

どのように結果が得られた後でそれを確認できますか?frmoサーバーにはオブジェクトがありますか?

if(result = jQuery.parseJSON(responseimage)) crashes script 
if(typeof jQuery.parseJSON(responseimage)!='undefined') crashes script 

その他の方法は確認できますか?よりインテリジェントなtryParseJSON関数を作成する代わりに

+0

はです'responseimage'はnullまたはundefinedですか、それとも他の非JSONデータがそこに保存されていますか? – FishBasketGordo

+0

更新された質問 – David

答えて

2

(まだ私はわからないんだけど、存在していてもよい)、私は単にtry-catchブロックで解析コールをラップします:

try { 
    result = jQuery.parseJSON(responseimage); 
} catch (e) { 
    result = {}; // Or some default value 
} 
+0

ありがとう – David

0
var result; 

if (responseimage) { 
    result = jQuery.parseJSON(responseimage); 
} 
+0

応答イメージは常に正です。問題は、ときどきJSONが内部にないことです。 – David

+0

JSONなしで返されるものの例を挙げられますか?それがJSONでない場合、常に返される同じものですか? – bdparrish

+0

問題が解決しました:)とにかく助けてくれてありがとう:) – David

関連する問題