Dalam kode berikut, semua yang saya coba lakukan adalah mendapatkan kode respons HTTP dari panggilan jQuery.ajax. Kemudian, jika kodenya 301 (Dipindahkan Secara Permanen), tampilkan tajuk respons 'Lokasi':
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>jQuery 301 Trial</title>
<script src="http://code.jquery.com/jquery-1.5.1.min.js"></script>
<script type="text/javascript">
function get_resp_status(url) {
$.ajax({
url: url,
complete: function (jqxhr, txt_status) {
console.log ("Complete: [ " + txt_status + " ] " + jqxhr);
// if (response code is 301) {
console.log ("Location: " + jqxhr.getResponseHeader("Location"));
// }
}
});
}
</script>
<script type="text/javascript">
$(document).ready(function(){
$('a').mouseenter(
function () {
get_resp_status(this.href);
},
function () {
}
);
});
</script>
</head>
<body>
<a href="http://ow.ly/4etPl">Test 301 redirect</a>
<a href="http://cnn.com/not_found">Test 404 not found</a>
</body>
</html>
Bisakah seseorang menunjukkan kesalahan saya? Ketika saya memeriksa objek 'jqxhr' di Firebug, saya tidak dapat menemukan kode status, atau header respons 'Lokasi'. Saya menetapkan breakpoint pada baris terakhir 'lengkap'.
Terimakasih banyak.