ホームページ  >  記事  >  ウェブフロントエンド  >  jquery ajaxがie8に対応していない問題の解決方法

jquery ajaxがie8に対応していない問題の解決方法

藏色散人
藏色散人オリジナル
2021-01-05 09:13:482399ブラウズ

jquery ajax が ie8 と互換性がない場合の解決策: まず、対応するコード ファイルを開き、次に "{foo:["bar1", "bar2"]} などのコード ステートメントを使用して JSON 形式を使用してデータをリクエストします。 」。

jquery ajaxがie8に対応していない問題の解決方法

このチュートリアルの動作環境: Dell G3 コンピューター、Windows 7 システム、jquery1.10.0&&ie8 バージョン。

推奨: "javascript 基本チュートリアル""jquery ビデオ チュートリアル"

jQuery の AJAX と IE の非互換性の解決策について

jQuery の AJAX: get メソッドを使用してデータが存在するかどうかを検出すると、IE と互換性がないことがわかります。

AJAX:post メソッドを使用すると、Chrome/FireFox/IE では正しい結果が表示されますが、AJAX:get メソッドを使用すると、IE は正しい結果を返すことができません。

データが get メソッドの長さ制限を超えている可能性はありますか? 合計で少しのデータしか転送できませんでした。除外します。

インターネット上の一部のネチズンは、IE のキャッシュに問題があると述べています。時刻番号 new Date().getTime() を追加するなど、リクエスト データの後に乱数を追加するだけです。

前のコードに乱数を追加しましたが、「Math.random()」を使用しても機能しません。時間を使用する方が信頼性が高くなりますか?

次に、時刻を取得するように変更してみます。パラメータに「new Date().getTime()」を追加しても、テストを繰り返しても動作しません。本当に不可解です。このエラーも解消されます。

マニュアルを何度も確認した結果、要求されたデータ形式が {foo:["bar1", "bar2"]} のような JSON 形式のままであることがわかり、この形式で記述しました。そして実際に正しいクエリ結果が返されました。 IE にまだこの要件があるとは知りませんでした。 (終了)

以前の形式:

type: "get",
data: "bid="+my_bid+"&name_cn="+name_cn+"&timeStamp="+new Date().getTime(),

改善された形式:

type: "get",
data: {'bid':my_bid,'name_cn':name_cn,'timeStamp':new Date().getTime()},

については、jQuery マニュアルに記載されています:

data Object,String

データをサーバーに送信します。リクエスト文字列形式に自動的に変換されます。 GET リクエストの URL に追加されます。

この自動変換を無効にするには、processData オプションの説明を参照してください。キー/値形式である必要があります。

配列の場合、jQuery は異なる値に対して同じ名前を自動的に対応させます。たとえば、{foo:["bar1", "bar2"]} は "&foo=bar1&foo=bar2" に変換されます。

コード スニペット:

var siteUrl="http://blog.sina.com.cn/cnwyt"; 
jQuery.ajax({
type: "get",
url: siteUrl+"cosmetics/product/ajax_check?",
//data: "bid="+my_bid+"&name_cn="+name_cn+"&timeStamp=" + new Date().getTime(),
data: {'bid':my_bid,'name_cn':name_cn,'timeStamp':new Date().getTime()},
dataType: 'json',
error: function (err) { alert('网络故障,请与管理员联系!') },
success: function (message) {
if(message!=false){
//ture的代码
}else{
//false的代码
}
});

プログラミング関連の知識について詳しくは、プログラミング教育をご覧ください。 !

以上がjquery ajaxがie8に対応していない問題の解決方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。