2012-03-09 11 views
1

JSONPを使用してjqueryのクラシック.aspページを呼び出してリストを返します。 JSONPを使用したいのは、私のウェブサイトがgoogle translateで表示されるときに問題を引き起こす起点ポリシーが同じであるためです。私が見つけたすべての解決策の問題は、aspページがサーバーサイド言語としてVBscriptを使用していると仮定していることです。私はデータベースに接続して結果を返すaspのサーバー側言語としてjavascriptを使用しています。JSONPをClassic ASPからJavascriptサーバー側コーディングで返す

私はいくつかの方法を試してみましたが、500のサーバーエラーが返されました。ここに私のjqueryの呼び出しです:

$.ajax({ 
    dataType: 'jsonp', 
    url: 'website/page.asp', 
success: function() { 
    alert(data); 
    }, 
}); 

そして、この私のpage.asp:

<%@ language="Javascript" %> 

<script language="javascript" runat="server" src='json2.js'></script> 
<script language="javascript" runat="server"> 

var jsonValue = eval('('hello world')'); 
Response.Write(jsonValue); 

</script> 

私は私が含まれるように、それを修正するために始めることができるように、単純なハローワールドJSONPコールを作成されてやりたいすべて私がデータベースに行っているクエリのデータ。誰かがこれの簡単なバージョンを持っていますか?これは可能ですか?

答えて

2

あなたの例は意味をなさない。まず、無効な構文があります( "hello world"は文字列ですが、引用符で囲まれていません)。次に、aspコードでJSONをエンコードしたいのですが、evalを使用するとJSONをデコードする(間違った)方法になります。ここでは、このように、あなたのオブジェクトをエンコードするためにクロックフォードのjson2.jsを使用して、私はあなたができると思うものです:

var sourceObj = { "testkey" : "test value", "otherkey" : 5 }; 
var jsonstr = JSON.stringify(sourceObj); 
Response.Write("yourjsonpCallbackName (" + jsonstr + ");"); 
+0

うわー、組み込むことが驚くほど簡単だったことをお願いいたします。 – user1259824

関連する問題