2011-06-25 5 views
1

助けていただければ幸いです。jQuery Ajaxとデータを返す古典的ASP対

私のASPページで、私はこれを返しています[{'id': '123'}]。あなたがソースを見るならば、それはページ上に何も表示されません。だから私はそれを取得すると、私はIDを得ることができるだろうという意味があります。

マイコード(私は同じデータを含むフラット・ファイルに取得を行うためにそれを使用するので、私は私が今やりたいすべてがその場でデータを作成された作品を知っている。):

$.ajax({  
     type: "GET",  
     url: "http://localhost/GetCustNewID.asp?callback=?",  
     async: false,  
     dataType: "jsonp", 
     success: function(data){  
      $(data).each(function(){ 
       alert(this.id) 
      }); 

     }, 
     error:function(x, e){ 
      if (x.status === 0){ 
       alert("You are offline."); 
      } 
      else if(x.status === 404){ 
       alert("404 file not found error"); 
      } 
      else if(x.status === 500){ 
       alert("500 internal server error"); 
      } 
      else if(e === 'parsererror'){ 
       alert("200 but can't parse json response"); 
      } 
      else if(e === 'timeout'){ 
       alert("Request timed out."); 
      } 
      else { 
       alert("Unknown AJAX error"); 
      } 
     } 

    }); 

I "200 but can't parse json response"が返されます。私が紛失しているものはありますか?

ありがとうございます。

答えて

2

あなたはJSONを返しています(無効です)が、JSはJSON-Pを探しています。

A JSON-Pリソースは次のようになります

Content-Type: application/javascript 

value_of_callback_query_string_value([{"id": "123"}]); 

JSON応答とは対照的に:JSONに、文字列は二重引用符で区切られていることを

Content-Type: application/json 

[{"id": "123"}] 

注意。出力をテストするにはJSON Lintを使用し、手動でJSONを作成するのではなく、ライブラリ(の末尾にリストされているもの)を使用する必要があります。

0

"jsonp"ではなく "json"を使用しているようです。

+0

クロスドメインになる予定です。ちょうどそれが同じエラーを持って変更 – Barry

関連する問題