タグ付けされた質問 「ajax」

AJAX(非同期JavaScriptおよびXML)は、従来のWebページの更新や再読み込みを行わずにインタラクティブなWebサイトのユーザーインターフェイスを作成するための手法です。クライアントとサーバー間の非同期データ交換を使用して、表示される情報を更新し、ユーザーの対話にシームレスに応答します。プログラミング言語、ライブラリ、フレームワーク、Webブラウザー、プロトコル、およびその他の環境情報の追加タグを含めます。

11
JQueryAjaxはPOSTではなくGETを送信しています
次のコードは、POSTHTTPリクエストの代わりにGETをトリガーします。 function AddToDatabase() { this.url = './api/add'; } AddToDatabase.prototype.postData = function(dataToPost) { $.ajax({ type: "POST", url: this.url, data: dataToPost, context: this, success: this.onSuccess }); }; var AddToDatabase = new AddToDatabase(); data = {data: 'coucou'}; AddToDatabase.postData(data); なぜ、そしてどうすればPOSTを取得できますか? Google ChromeInspectとFirefoxInspectで、ブラウザがGETを送信していることがわかります。これはChromeからのものです: リクエストURL:http:// localhost / SAMPLE-CODES / UPDATE%20MYSQL / api / add /リクエストメソッド:GETステータスコード:200OK 解決済み …
87 jquery  ajax 

17
jQueryAjaxリクエストは送信されずにキャンセルされます
スクリプトをMicrosoftのWorld-WideTelescopeアプリに接続しようとしています。後者はポート5050でコマンドをリッスンします。ブラウザと同じマシンで実行されています(現在Chromeですが、私が知る限り、動作はFirefox7とIE9で同じです)。 問題としてXSS制限を排除するために、元のhtmlファイルを含む「Access-Control-Allow-Origin:*」ヘッダーを送信しています。 WWTにアクセスするための私のコードは次のとおりです。 $.ajax({ type: 'POST', url: url, data: data, crossDomain: true, success: success, dataType: dataType }); この場合のURLは「http://127.0.0.1:5050 / layerApi.aspx?cmd = new&...」です(明らかに...ここではいくつかの追加パラメーターの省略形です)。 Chromeのネットワーク診断を見ると、次のことがわかります。 Request URL:http://127.0.0.1:5050/layerApi.aspx?cmd=new&... Request Headersview source Accept:application/xml, text/xml, */*; q=0.01 Content-Type:application/x-www-form-urlencoded Origin:http://gwheeler4 Referer:http://gwheeler4/conceptconnect.html User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.186 Safari/535.1 リクエストは送信されます-WWTが新しいレイヤーを作成しているのがわかります。ただし、コールバックがありません。呼び出されるエラーコールバックを追加したが、jqXHRオブジェクトのerrorプロパティが「error」でステータスが0の場合。Chromeでネットワークリクエストを見ると、ステータスとして「(cancelled)」が表示され、応答がありません。 。 同じURLを取得して新しいブラウザタブに貼り付けると、応答が期待されるXMLであることがわかります。 もちろん、ここでの違いは、これがPOSTではなくGETであるということですが、スクリプトで試してみましたが、違いはありません。 …

2
同じドメインでCORSエラーが発生しましたか?
現在、奇妙なCORSの問題が発生しています。 エラーメッセージは次のとおりです。 XMLHttpRequest cannot load http://localhost:8666/routeREST/select?q=[...] Origin http://localhost:8080 is not allowed by Access-Control-Allow-Origin 2つのサーバー: localhost:8666 / routeREST /:これは単純なPythonボトルサーバーです。 localhost:8080 /:Javascriptアプリケーションを実行するPythonsimpleHTTPserver。このアプリは、上記のサーバーでAjaxリクエストを実行しています。 何が問題になるのかについて何か考えはありますか? 編集: そして...ポートが問題でした。あなたの答えをありがとう:) 誰かがPythonボトルサーバーも使用している場合は、この投稿に記載されている回答に従って、CORSの問題を解決できます: Bottle Py:jQueryAJAXリクエストのCORSの有効化

9
Flaskを使用したクロスオリジンリソースシェアリングの解決
次のajax投稿リクエストの場合Flask(フラスコ内のajaxから投稿されたデータをどのように使用できますか?): $.ajax({ url: "http://127.0.0.1:5000/foo", type: "POST", contentType: "application/json", data: JSON.stringify({'inputVar': 1}), success: function( data ) { alert( "success" + data ); } }); 私が取得Cross Origin Resource Sharing (CORS)エラー: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. The response had HTTP status code …

7
Rails 3:Ajax呼び出しで「redirect_to」する方法は?
次のattempt_loginメソッドは、ログインフォームが送信された後にAjaxを使用して呼び出されます。 class AccessController < ApplicationController [...] def attempt_login authorized_user = User.authenticate(params[:username], params[:password]) if authorized_user session[:user_id] = authorized_user.id session[:username] = authorized_user.username flash[:notice] = "Hello #{authorized_user.name}." redirect_to(:controller => 'jobs', :action => 'index') else [...] end end end 問題はそれredirect_toが機能しないことです。 これをどのように解決しますか?

22
406を取得するSpringJSONリクエスト(受け入れられません)
これは私のJavaScriptです: function getWeather() { $.getJSON('getTemperature/' + $('.data option:selected').val(), null, function(data) { alert('Success'); }); } これは私のコントローラーです: @RequestMapping(value="/getTemperature/{id}", headers="Accept=*/*", method = RequestMethod.GET) @ResponseBody public Weather getTemparature(@PathVariable("id") Integer id){ Weather weather = weatherService.getCurrentWeather(id); return weather; } spring-servlet.xml <context:annotation-config /> <tx:annotation-driven /> このエラーの取得: GET http://localhost:8080/web/getTemperature/2 406 (Not Acceptable) ヘッダー: 応答ヘッダー Server Apache-Coyote/1.1 Content-Type text/html;charset=utf-8 …
85 java  javascript  ajax  json  spring 

8
Google Maps APIは、AJAXを使用している場合にのみ、「Uncaught ReferenceError:google isnotdefined」をスローします
Google MapsAPIを使用して地図を表示するページがあります。ページを直接読み込むと、地図が表示されます。ただし、AJAXを使用してページを読み込もうとすると、次のエラーが発生します。 Uncaught ReferenceError: google is not defined どうしてこれなの? これは地図のあるページです: <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script> <script> var directionsDisplay; var directionsService = new google.maps.DirectionsService(); var map; function initialize() { directionsDisplay = new google.maps.DirectionsRenderer(); var chicago = new google.maps.LatLng(41.850033, -87.6500523); var mapOptions = { zoom:7, mapTypeId: google.maps.MapTypeId.ROADMAP, center: chicago } map = new …

11
ブラウザの認証ダイアログを抑制するにはどうすればよいですか?
私のWebアプリケーションには、AJAX呼び出しを介して認証資格情報を送信するログインページがあります。ユーザーが正しいユーザー名とパスワードを入力すれば、すべて問題ありませんが、そうでない場合は、次のようになります。 Webサーバーは、要求に整形式のAuthorizationヘッダーが含まれていても、ヘッダー内の資格情報が正常に認証されていないと判断します。 Webサーバーは401ステータスコードを返し、サポートされている認証タイプを一覧表示する1つ以上のWWW-Authenticateヘッダーを含みます。 ブラウザは、XMLHttpRequestオブジェクトに対する私の呼び出しへの応答が401であり、応答にWWW-Authenticateヘッダーが含まれていることを検出します。次に、ユーザー名とパスワードの入力を求める認証ダイアログが表示されます。 これは、ステップ3まではすべて問題ありません。ダイアログをポップアップさせたくないので、AJAXコールバック関数で401応答を処理したいと思います。(たとえば、ログインページにエラーメッセージを表示することによって。)もちろん、ユーザーにユーザー名とパスワードを再入力してもらいたいのですが、ブラウザーの醜いデフォルトではなく、フレンドリーで安心できるログインフォームを表示してもらいたいです。認証ダイアログ。 ちなみに、私はサーバーを制御できないため、カスタムステータスコード(つまり、401以外のもの)を返すようにすることはできません。 認証ダイアログを非表示にする方法はありますか?特に、Firefox 2以降で[認証が必要]ダイアログを非表示にできますか?IE 6以降で[[ホスト]に接続]ダイアログを抑制する方法はありますか? 著者からの追加情報の編集(9月18日): ブラウザーの認証ダイアログがポップアップする際の本当の問題は、ユーザーに十分な情報が提供されないことです。 ユーザーは、ログインページのフォームからユーザー名とパスワードを入力したばかりで、両方を正しく入力したと考えており、送信ボタンをクリックするか、Enterキーを押しました。彼の期待は、次のページに移動するか、情報を間違って入力したため、再試行する必要があると言われることです。ただし、代わりに予期しないダイアログボックスが表示されます。 ダイアログには、彼はただ事実の確認になりませんでしたユーザ名とパスワードを入力します。問題があったこと、そして彼が再試行する必要があることを明確に述べていません。代わりに、ダイアログボックスは、「サイトは次のように言っています: ' [レルム] ' 」のような不可解な情報をユーザーに表示します。ここで、[レルム]は、プログラマーだけが愛することができる短いレルム名です。 Webブラウザーの設計者は注意します。ダイアログ自体が単によりユーザーフレンドリーである場合、認証ダイアログを抑制する方法を誰も尋ねません。全体私がログインフォームをしていた理由は、私たちの製品管理チームは間違いなくブラウザの認証ダイアログがひどいことを考慮することです。

2
AJAXおよびjQueryでのHTML5ファイルアップロードの使用
確かに、Stack Overflowにも同様の質問がありますが、私の要件を完全に満たすものはないようです。 これが私がやろうとしていることです: データの形式全体をアップロードします。そのうちの1つは単一のファイルです。 Codeigniterのファイルアップロードライブラリを操作する ここまでは順調です。データは必要に応じてデータベースに保存されます。ただし、AJAX投稿を介してフォームを送信することもできます。 フラッシュやiframeソリューションではなく、ネイティブHTML5ファイルAPIを使用する できれば低レベルの.ajax()jQueryメソッドとのインターフェース 純粋なJavaScriptを使用してフィールドの値が変更されたときにファイルを自動アップロードすることでこれを行う方法を想像できると思いますが、jQueryで送信するためにすべてを一挙に実行したいと思います。ファイルオブジェクト全体を渡す必要があるため、クエリ文字列を介して行うことはできないと思いますが、この時点で何をすべきかについて少し迷っています。 これは達成できますか?

6
jQuery AJAX呼び出しの「finally」に類似したものはありますか?
jQuery AJAX呼び出しにJavaの「最終的に」類似物はありますか?私はここにこのコードを持っています。私はいつも例外をスローしますが、常にthen()メソッドに移動させたいと思っています。 call.xmlHttpReq = $.ajax({ url : url, dataType : 'json', type : 'GET' }).always(function(processedDataOrXHRWrapper, textStatus, xhrWrapperOrErrorThrown) { throw "something"; }).then(function() { alert("i want to always run no matter what"); }); done()、complete()、および別のalways()を使用しようとしましたが、何も機能しないようです。 これがJSFiddleです: http://jsfiddle.net/qv3t3L0m/

12
jQuery .load()呼び出しは、ロードされたHTMLファイルでJavaScriptを実行しません
これはSafariのみに関連する問題のようです。Macで4つ、Windowsで3つ試しましたが、まだうまくいきません。 外部のHTMLファイルをロードして、埋め込まれているJavaScriptを実行しようとしています。 私が使おうとしているコードはこれです: $("#myBtn").click(function() { $("#myDiv").load("trackingCode.html"); }); trackingCode.html このように見えます(今は簡単ですが、一度拡張します/これが機能するようになれば): <html> <head> <title>Tracking HTML File</title> <script language="javascript" type="text/javascript"> alert("outside the jQuery ready"); $(function() { alert("inside the jQuery ready"); }); </script> </head> <body> </body> </html> IE(6&7)とFirefox(2&3)の両方でアラートメッセージが表示されます。ただし、Safariでメッセージを表示できません(最後に気にする必要のあるブラウザー-プロジェクト要件-炎上戦争はしないでください)。 SafariがtrackingCode.htmlファイル内のJavaScriptを無視している理由について何か考えはありますか? 最終的には、JavaScriptオブジェクトをこのtrackingCode.htmlファイルに渡してjQuery ready呼び出しで使用できるようにしたいのですが、その道を進む前に、すべてのブラウザーでこれが可能であることを確認したいと思います。
83 jquery  ajax  safari 

6
コールバックをパラメーターとして別の関数に渡す方法
私はajax関数とコールバック関数を初めて使用します。概念がすべて間違っている場合はご容赦ください。 問題:コールバックを実行する別の関数にパラメーターとしてコールバック関数を送信できますか? function firstFunction(){ //some code //a callback function is written for $.post() to execute secondFunction("var1","var2",callbackfunction); } function secondFunction(var1, var2, callbackfunction) { params={} if (event != null) params = event + '&' + $(form).serialize(); // $.post() will execute the callback function $.post(form.action,params, callbackfunction); }

7
AJAX:文字列がJSONかどうかを確認しますか?
私のJavaScriptは時々この行でクラッシュします: var json = eval('(' + this.responseText + ')'); の引数がeval()JSONでない場合、クラッシュが発生します。この呼び出しを行う前に、文字列がJSONであるかどうかを確認する方法はありますか? フレームワークを使いたくないのですが、これを使ってこれを機能させる方法はありますeval()か?(正当な理由があります、私は約束します。)

5
JqueryとHTMLFormDataは「UncaughtTypeError:Illegalinvocation」を返します
このスクリプトを使用して画像ファイルをアップロードしています:http://jsfiddle.net/eHmSr/ $('.uploader input:file').on('change', function() { $this = $(this); $('.alert').remove(); $.each($this[0].files, function(key, file) { $('.files').append('<li>' + file.name + '</li>'); data = new FormData(); data.append(file.name, file); $.ajax({ url: $('.uploader').attr('action'), type: 'POST', dataType: 'json', data: data }); }); }); しかし、アップロードボタンをクリックすると、JavaScriptコンソールは次のエラーを返します。 Uncaught TypeError: Illegal invocation 手伝って頂けますか?
83 jquery  ajax  html  upload 

6
CORSはクロスドメインAJAXリクエストを行うための安全な方法ですか?
CORS(Cross-Origin Resource Sharing)について読んだ後、それがどのようにセキュリティを向上させるのか理解できません。正しいORIGINヘッダーが送信された場合、クロスドメインAJAX通信が許可されます。例として、私が送る場合 起源:http://example.com サーバーは、このドメインがホワイトリストに含まれているかどうかを確認し、含まれている場合はヘッダーを確認します。 Access-Control-Allow-Origin:[ここで受信したURL] 応答と一緒に返送されます(これは単純なケースであり、事前に戦われた要求もありますが、質問は同じです)。 これは本当に安全ですか?誰かが情報を受け取りたい場合、ORIGINヘッダーを偽造することは本当に簡単な作業のように思えます。また、標準では、ポリシーはブラウザに適用され、Access-Control-Allow-Originが正しくない場合は応答をブロックするとされています。明らかに、誰かがその情報を取得しようとしている場合、彼はそれをブロックするために標準のブラウザを使用しません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.