問題タブ [jsonp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
3954 参照

jquery - ネストされた$.getJSONのスコープの問題

この行の一部では

ページがハングする実際の出力は表示されません

どんな助けでもありがたいです。

ありがとうございました

0 投票する
1 に答える
843 参照

ruby-on-rails - Rack-jsonp は単純なリクエストでは機能しませんが、Rails 2.3 の .js 呼び出しでは機能します

私は Rails 2.3 を使用しており、JSONP のサポートを提供することにしました。まったく新しいアプリケーションを作成しました。次に、スクリプトを実行/足場を生成 ユーザー名:文字列

これは私の環境全体です.rb

localhost:3000/users にアクセスすると、得られるのはハッシュだけです。localhost:3000/users.js?callback=show にアクセスすると、良い結果が得られます。

jsonp コードを見てみましょう。応答が配列にラップされている理由がわかりません。

このステートメントを置き換える別のRackミドルウェアを作成しました

この声明で

そして今、すべてがうまくいっています。

これが Rack-contrib のバグだとは信じられません。

応答が配列にラップされている理由と、アプリケーションで Rack-contrib を使用する方法を誰かが教えてくれますか?

私のアプリケーションの完全なソース コードはこちらです。クローンして localhost:3000 で実行するだけです。

0 投票する
2 に答える
3946 参照

jquery - FireBug と JSONP クロスドメイン リクエストの監視

この質問は、Firefox の Firebug プラグインに固有のものです。実際の機能は動作しますが、Firebug で監視およびデバッグする機能を失いました。

データを取得するために使用するWebサイトがありましたJSONJSONFirebug では、リクエストを監視できました。それらのそれぞれ、ヘッダー、および返されたデータが表示されます。

JSONリクエストを送信したサーバーを変更する必要がありました。クロスドメインを機能させるために、callback=?JSONを使用しました。JSONP方法。機能を動作させることができました。ただし、JSONP現在 Firebug でリクエストを監視およびデバッグすることはできません。

記録のために、これは Firefox 3.0.11 で、私は &callback=? で jQuery を使用しています。JSONP私のリクエストのパラメータ。

JSONPリクエストを Firebug に表示するにはどうすればよいですか?

0 投票する
3 に答える
814 参照

jquery - javascript-ajaxを使用して別のドメインのコンテンツにアクセスしたいですか?

私は、openstreetmap API(http://wiki.openstreetmap.org/wiki/OSM_Protocol_Version_0.6)からデータをロードするjavascriptアプリケーションを作成しようとしています。これは、基本的には単なる安らかなxmlAPIです。jqueryを使用してXMlにアクセスしようとしています。ただし、セキュリティエラーが発生します。これはクロスサイトスクリプティングのブロックです。

そのXMLにアクセスするにはどうすればよいですか?AFAIK OSMはjsonpを提供していないため、機能しません。とにかくありますか?>

0 投票する
4 に答える
11934 参照

jquery - JQuery、XmlHttpRequest、ステータスコード0

最近、JSONPとASP.NETMVCを使用してクロスドメインJavaScriptを実行しています。

特定のコントローラーアクションはPOSTリクエストにのみ応答します。これは仕様によるものです。

IE8では、(Fiddler2を介して)応答が正しいことを確認し、JSONPjavascriptとともにHTTP200応答を返します。

Firefox、Safari、Chromeでは、適切なHTTP 200コードとJSONPコンテンツを使用して応答が返されますが、唯一の違いは、JQueryで使用されているXmlHttpRequestオブジェクトがステータスコードを0に設定し、responseTextを空に設定していることです。

もともと、これはCOR HTTPプリフライト(Http Access Control)によるものだと思っていました。これにより、カスタムヘッダーまたはtext / plain以外のコンテンツタイプにより、追加のHTTPリクエスト(OPTIONSを含む)動詞がサーバーに送信されます。Fiddler2で、OPTIONSリクエストがHTTP404で応答されていることがわかります。

WebサーバーはIIS7です(ただし、実稼働WebサーバーはIIS6ボックスになります)。IIS7では、ハンドラーにリストされている標準のOPTIONSVerbHandlerを確認できますが、これが実際に何かを実行しているとは確信していません(実際、OPTIONSVerbHandlerに関するドキュメントはどこにも見つかりません)。

これを回避するために、カスタムヘッダーを設定しないようにJQueryライブラリを変更し、content-typeをapplication/jsonではなくtext/plainに変更すると、Firefoxは最終的にOPTIONSリクエストとプレーンPOSTのバイパスを開始します。

Fiddler2がコンテンツを含む成功したHTTP200応答を示しているにもかかわらず、問題は依然として空の応答(XmlHttpRequestオブジェクトによる)にあります。

何か助けはありますか?

0 投票する
4 に答える
9689 参照

.net - WCFRESTWebサービスからコールバック関数でラップされたJSONを返します

JSONを返すWebサービスがありますが、呼び出し元がコールバック関数を指定できるように変更して、次のように返されるようにします。JSON DATA to selectedFunction(JSON DATA); 現在JSONを返す方法は、オブジェクトのインスタンスを返し、.NETにシリアル化の魔法を実行させることです。文字列を返すだけに変更すると、関数の名前とデータを囲む角かっこを追加できますが、次に、文字列であり、引用符が不要なため、結果として引用符が返されます。では、どうすればそれを実現できますか?

この理由は、ここで説明されているように、APIを呼び出す開発者が動的スクリプトタグを使用できるようにするためですhttp://www.xml.com/pub/a/2005/12/21/json-dynamic-script-tag。 html

0 投票する
3 に答える
4597 参照

php - JavaScript と PHP で JSON を使用する

2 つの短い質問。SOに関する回答または回答済みの質問へのポインタをいただければ幸いです(質問する前に検索しました:))。

  1. JSON オブジェクトを返すTRYNTの Web サービスの1 つを使用したいと思います (たとえば、このようなもの)。JSONP が指定されていない場合、クロスサイト スクリプティングの制限により、サーバー側のプロキシを使用せずにクライアント側からこれらのサービスを利用する方法はないと推測できますか?
  2. わかりましたので、サービスを消費して JSON を HTML に返すために PHP プロキシを実装しようとしましたが、(無料の) Web ホスティング サービスが CURL ライブラリをブロックしていることがわかりました。初心者の PHP 開発者 (ASP.Net は私の通常の専門知識ですが、分岐する時が来たと判断しました :) ) - PHP から JSON の結果を取得するには、他にどのようなオプションが必要ですか?

任意の支援をいただければ幸いです。

0 投票する
4 に答える
2082 参照

jquery - Ajax/JQuery/JSON フォーム

外部サイトに情報を投稿する必要があるフォームを持っていますが、何らかの理由でエラーが発生します:

エラー: [例外...「制限された URI へのアクセスが拒否されました」コード: "1012" nsresult: "0x805303f4 (NS_ERROR_DOM_BAD_URI)" 場所: "jquery.core.1-3-2.min.js 行: 19"] ソース ファイル: jquery.core.1-3-2.min.js 行: 19

フォームを実行する (または実行しようとする) ために使用しているコードは次のとおりです。

誰かが私のデータを外部のウェブサイトに投稿するのを手伝ってくれませんか:)

0 投票する
1 に答える
486 参照

javascript - jsonp プロキシ Web アプリをインストールできますか?

ajax を使用して別のドメインにアクセスしようとして行き詰まった後、jsonp を使用する必要があることを発見しました。ただし、私が使用している Web サービスは jsonp 出力を提供しません。問題ありません。自分のWebサーバーで、自分の出力をjsonpでラップする簡単なものを書くことができます。ただし、車輪を再発明する前に、これを行う既存のプログラムはありますか?

0 投票する
2 に答える
6410 参照

javascript - localhost での実行時に JSONP コールバックが実行されない

これは奇妙なことです。誰かがなぜこれが起こったのかを明らかにできるかどうか疑問に思っていました.

基本的に、他のサイトが使用できる JSON Web サービスを実装できるように、JSONP をテストしようとして頭を悩ませてきました。私はローカルホストで開発を行っています。具体的には、Visual Studio 2008 と Visual Studio 2008 の組み込み Web サーバーです。

したがって、jQuery を使用した JSONP テストの実行として、以下を実装しました。

そしてサーバー上で..

結局、サーバーにブレークポイントを設定し、最初の「デバッガー」の両方でブレークポイントを取得します。サーバー上だけでなく、クライアント側スクリプト内のステートメント。JSONP URL は、ページの読み込み後に実際に呼び出されています。それはうまくいっています。

私が抱えていた問題は、コールバックが実行されないことでした。これを IE8 と Firefox 3.5 の両方でテストしました。どちらもコールバックを呼び出しません。catch(err) にも到達しませんでした。何も起こりませんでした!

私はこれに1週間行き詰まり、サーバーがフォーマットを返すことを確認するために、指定されたポートのTelnetで手動でキー付けされたHTTPリクエストでテストしました...

..そしてそうです。

次に、ホスト名を localhost から localhost にグローバライザー ('.') で変更するとどうなるか、つまり、 http://localhost:41559/の代わりにhttp://localhost.:41559/ (はい、任意のホスト名へのドットは合法であり、DNSに対しては C# 名前空間に対してです)。そして、それはうまくいきました!Internet Explorer と Firefox 3.5 では、ドットを追加しただけで警告メッセージが表示されるようになりました。global::

ここで何が起こっているのだろうか?後期スクリプト タグ生成がプレーンな localhost ではなく、インターネット ホスト名で機能するのはなぜですか? それともそれは正しい質問ですか?

明らかにこれはセキュリティ上の理由から実装されていますが、何を保護しようとしているのでしょうか?? そして、それをドットで動作させることで、このセキュリティ機能のセキュリティ ホールを明らかにしただけでしょうか?

ところで、私のホスト ファイルは、他のホスト用に変更されていますが、ローカルホストでは特別なことは何も行われていません。デフォルトの 127.0.0.1 / ::1 はそのままで、以下のオーバーライドはありません。

フォローアップ:追加することで、ローカル開発の目的でこれを乗り越えました。

.. hosts ファイルに追加し、global.asax に次のコードを追加します。