304 CORS_html/css_WEB-ITnose

304响应, cors问题: 没有 access-control-allow-origin 这个头信息时,以前次返回的200请求为准。

示例:可能已被删除
http://7af3zm.com1.z0.glb.clouddn.com/ajax_304_cors.html

附上源码:
html

  1. // var _ajax_34re = false;function getAjax () {var _ajax_34re = false;if (_ajax_34re) {return _ajax_34re;}try {_ajax_34re = new XMLHttpRequest(); } catch (trymicrosoft) { try {_ajax_34re = new ActiveXObject("Msxml2.XMLHTTP"); } catch (othermicrosoft) { try {_ajax_34re = new ActiveXObject("Microsoft.XMLHTTP"); } catch (failed) {_ajax_34re = false; } } }return _ajax_34re;}function load(url) {request = getAjax ();request.open("GET", url); request.onreadystatechange = updatePage; request.send(null); } function updatePage() { if (request.readyState == 4) if (request.status == 200) alert("Server is done!" + request.responseText); else if (request.status == 404) alert("Request URL does not exist"); else alert("Error: status code is " + request.status); }
    access: 200、304响应都有 Access-Control-Allow-Origin:*;access-non: 200、304响应都 没 有 Access-Control-Allow-Origin;access-200: 200响应都有 Access-Control-Allow-Origin:*, 304响应 没 有 Access-Control-Allow-Origin;
  2. 登录后复制

  3. clojure

  4. (ns base-web.handler  (:require [compojure.core :refer :all]            [compojure.route :as route]            [ring.middleware.defaults :refer [wrap-defaults site-defaults]]            [clojure.pprint :as log]))(def my-route    (-> site-defaults        (assoc-in [:security :anti-forgery] false)        (assoc-in [:params] false)        ))(defn print-req [req]    (println )    (log/pprint my-route)    (log/pprint req)    (log/pprint (slurp (:body req)))    (println "done"))(defn access-200 [req]    (let [etag "e-access-200"]    (if (not= etag (get-in req [:headers "if-none-match"]))        (do (println "200")            {:status 200,             :headers {"Content-Type" "application/json", "Access-Control-Allow-Origin" "*", "ETag" etag}             :body "{\"success\":true, \"frame\": \"ring\"}"})         (do (println "304")            {:status 304,                :headers {"Content-Type" "application/json", "ETag" etag}}))))(defn access-non [req]    (let [etag "e-access-non"]    (if (not= etag (get-in req [:headers "if-none-match"]))        (do (println "200")            {:status 200,             :headers {"Content-Type" "application/json", "ETag" etag}             :body "{\"success\":true, \"frame\": \"ring\"}"})         (do (println "304")            {:status 304,                :headers {"Content-Type" "application/json", "ETag" etag}}))))(defn access [req]    (let [etag "e-access"]    (if (not= etag (get-in req [:headers "if-none-match"]))        (do (println "200")            {:status 200,             :headers {"Content-Type" "application/json", "Access-Control-Allow-Origin" "*", "ETag" etag}             :body "{\"success\":true, \"frame\": \"ring\"}"})         (do (println "304")            {:status 304,                :headers {"Content-Type" "application/json", "ETag" etag}}))))(defroutes app-routes  (GET "/access-200" req (access-200 req) )  (GET "/access-non" req (access-non req) )  (GET "/access" req (access req) )  (ANY "*" req    (print-req req)    "{\"success\":true, \"frame\": \"compojure\"}")  (route/not-found "Not Found"))(def app  (wrap-defaults app-routes my-route));; lein ring server []
  5. 登录后复制

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

点点赞赏,手留余香

给TA打赏
共0人
还没有人赞赏,快来当第一个赞赏的人吧!
    编程技术

    【译】下一代选择器:CSS4_html/css_WEB-ITnose

    2025-3-29 7:49:55

    编程技术

    求教一个问题_html/css_WEB-ITnose

    2025-3-29 7:50:17

    0 条回复 A文章作者 M管理员
    欢迎您,新朋友,感谢参与互动!
      暂无讨论,说说你的看法吧
    个人中心
    购物车
    优惠劵
    今日签到
    私信列表
    搜索