| <!doctype html> |
| <html> |
| <head> |
| <title>XMLHttpRequest: send() - Redirects (no Location header)</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <link rel="help" href="https://xhr.spec.whatwg.org/#infrastructure-for-the-send()-method" data-tested-assertations="following::dl[1]/dt[2]" /> |
| <!-- |
| NOTE: the XHR spec does not really handle this scenario. It's handled in the Fetch spec: |
| "If response's headers do not contain a header whose name is Location, return response." |
| --> |
| </head> |
| <body> |
| <div id="log"></div> |
| <script> |
| function redirect(code) { |
| var test = async_test(document.title + " (" + code + ")") |
| test.step(function() { |
| var client = new XMLHttpRequest() |
| client.onreadystatechange = function() { |
| test.step(function() { |
| if(client.readyState == 4) { |
| assert_equals(client.status + "", code) |
| assert_equals(client.statusText, "ABE ODDYSSEE") |
| assert_equals(client.responseXML.documentElement.localName, "x") |
| test.done() |
| } |
| }) |
| } |
| client.open("GET", "resources/status.py?content=<x>x<\/x>&type=text/xml&text=ABE ODDYSSEE&code=" + code) |
| client.send(null) |
| }) |
| } |
| redirect("301") |
| redirect("302") |
| redirect("303") |
| redirect("307") |
| </script> |
| </body> |
| </html> |