フロントエンドの面接問題--XMLHT TPRequestとJSONPの応用シーン、そして要求ミスをそれぞれどうやって検出しますか?


  • XMLHttpRequestは、ブラウザ側とサーバ側の非同期要求データの面からページに対するリフレッシュなしの修正を実現するために使用され、GET/POST要求をサポートし、非ドメインシーンで一般的に使用される.XMLHttpRequestを使用する場合は、CORSヘッダを介してサポートする必要があります.JSONPは、ドメインをまたいでデータを要求するシーンに用いられ、GET要求のみをサポートする.
  • XMLHttpRequest異常判定は、一般的にその対象のreadystateとhttp状態コードstatusによって判断され、JSONPの異常判断は、一般的にオンerrorイベントとタイムアウトtimerで判断される.(答えは牛客ネットの面接試験問題から来ました)
  • XMLHttpRequest
    XMLHttpRequestはブラウザインターフェースで、JavaScriptはHttp通信ができます.これは私たちがよく知っているAjaxです.
    ドメイン間のリソース共有
    XMLHttpは異なるドメイン名のサーバからhttp要求を出すことができます.CORSといいますが、二つの条件を満たす必要があります.ブラウザはCORS 2をサポートする必要があります.サーバーはドメインをまたぐことができます.サービスヘッドはいくつかのオプションを追加する必要があります.
    self.set_header('Access-Control-Allow-Origin', '*')
    self.set_header('Access-Control-Allow-Methods', 'POST, GET, OPTIONS')
    self.set_header('Access-Control-Max-Age', 1000)
    self.set_header('Access-Control-Allow-Headers', '*')
    self.set_header('Content-type', 'application/json')
    
    JSONP
    jsonpの核心原理はターゲットページをローカルページに戻す方法であり、パラメータを持ち込むことです.なぜjsonが必要ですか?ブラウザのセキュリティ制限のため、データは直接ドメインを越えてはいけません.認証されたデータの戻りにjsopを設定することによって、このインターフェースはすべてのディストリビュータにデータの取得を許可する必要があります.
    jsonpはターゲットコードをjsとしてロードすることができます.jqueryのajaxを直接利用してjsonを要求することもできます.