$ getJSONを使用してリンクからJSON文字列をプルダウンしています(例:/ login?user = foo & pass = bar)。このリンクをブラウザに直接接続すると、「ファイルダウンロード」プロンプト(「which is:application/json」)が表示されます。 getJSONはそのリンク上では動作しません。getJSONは平文にのみ応答し、それ以外の場合は動作しません。
ただし、メモ帳で "ファイルのダウンロード"プロンプトでファイルを開き、そのテキストをプレーンテキスト(.txtファイル)としてサーバーにホストし、そのリンク(つまり/jsondata.txt)でgetJSONを呼び出すと、完全に機能します。
バックエンドで何かを変更する機能はありません。
ここで何が起こっているのでしょうか?基本的には、JSONファイルをプレーンテキストとしてホストするとJSONファイルをプルダウンできますが、デフォルトでは返されません。
EDIT はここで非常に簡単...私のコードです:
$.getJSON("http://EXTERNALHOSTNAME.com/WEBSERVICE.svc/login?username="+document.frmLogin.email.value+"&password="+document.frmLogin.password.value+"", function(data) {
alert("it worked!");
});
私はそれが動作.txtファイル、Dropboxにリンクして、その行を交換する場合:
//$.getJSON("http://dl.dropbox.com/u/NUMBERS/login.txt", function(data) {
getJSONコードを投稿できますか? – Joe
私はこれが既に答えられていると思います[ここ](http://stackoverflow.com/questions/26620/how-to-set-encoding-in-getjson-jquery/26681#26681) – PPvG
どういう意味ですか?うまくいかない"?あなたは正確なエラーを提供できますか?そのリンクは同じドメインまたは別のドメインにありますか(問題は他の場所にある可能性があるためです)。また、あなたがファイルダウンロードを取得した場合、そのリンクは 'content-disposition'ヘッダhttp://support.microsoft.com/kb/260519である可能性があります。私は$ .getJsonがそのように振る舞う方法を知らない。 – Stefano