2011-07-08 33 views
4

ブックJavaScript:The Definitive Guide、第5版、David Flanagan氏:AJAXリクエストを送信する前に、リクエストヘッダーを送信する必要があります。ヘッダー付きAJAXリクエストの送信

クロスブラウザサポートの範囲では、これを行う必要がありますか?指導のためのjQueryのに

request.setRequestHeader("User-Agent", "XMLHttpRequest"); 
request.setRequestHeader("Accept-Language", "en"); 
request.setRequestHeader("If-Modified-Since", lastRequestTime.toString()); 

答えて

3

を、彼らはすべてのブラウザの互換性のために必須ではありません。これらのヘッダーは、嗜好表示(Accept-Language)およびコンテンツ最適化(If-Modified-Since)として使用されます。

request.setRequestHeader("Accept-Language", "en"); 
request.setRequestHeader("If-Modified-Since", lastRequestTime.toString()); 

最初のヘッダーは、クエリがAJAXか単純なナビゲーションから行われたかどうかを検出するためにサーバー側で使用されます。古いブラウザではデフォルトでこのヘッダーが設定されない可能性があるため、サーバーがこのヘッダーを使用して設定されている場合、ブラウザの互換性が失われる可能性があります。サーバーがこのヘッダーを使用して設定されていない場合、設定されていなければブラウザーとの互換性が失われません。最初のヘッダはX-Requested-WithとしないUser-Agentなければならないこと

request.setRequestHeader("X-Requested-With", "XMLHttpRequest"); 

注意。

2

ルック:

http://code.jquery.com/jquery-latest.js

具体的に "X-要求-と" を検索します。 「User-Agent」を設定する必要はありません。ただし、「X-Requested-With」を「XMLHttpRequest」に設定することもできます。

jQuery、DoJo、MooTools、または他のJSフレームワークのソースを見ずにjQueryを再実装しようとする人から、多くの疑問があるようです。ソース、ルークを使用してください。または、フレームワークを使用し、学問的な課題として解決した問題を再解決する代わりに、有用なアプリを構築するだけです。

チェックアウト、彼らはゼロからのフレームワークを構築dailyjsからブログ記事のこのシリーズ:最後の2ヘッダーのために

http://dailyjs.com/tags.html#lmaf

+0

私はJavaScriptの研究を終えており、徹底したい。代わりに、私はjQueryに切り替える予定ですが、しばらくの間、答えを知ることは良いでしょう。ありがとう。 –

+0

"X-Requested-With"を "XMLHttpRequest"に設定すると、クロスブラウザサポートが失われますか? –

+0

ヘッダーはサーバーのサポートほどブラウザのサポートにはあまり影響しません。互換性の意味を説明した@ HoLyVieRの回答を参照してください。 –

関連する問題