你可能想在JQuery docs for ajax requests仔細一看,這樣你就可以使用日誌安全HTTP連接。這個JavaScript代碼基本上描述了一個將文本格式的錯誤發送到服務器端腳本的函數。該腳本可以將錯誤描述寫入服務器上的文件。我建議使用數據庫來代替;通過這種方式,您可以輕鬆編寫一個顯示所有報告錯誤(以及過濾器和其他好東西)的Web客戶端。
您可以提取引薦[原文]字段中服務器上的AJAX HTTP GET請求的源URL。
(function() { // function operator, in case console doesn't exist
!console ?
(console = {}) : console;
!console.log ?
(console.log = function() { }) : console.log;
!console.info ?
(console.info = console.log) : console.info;
!console.error ?
(console.error = console.log) : console.error;
}());
// Uses JQuery
function reportError (errDesc) {
var path = "www.getlog.com/mylogs.php";
$.ajax({
url: path,
type: "GET",
async: true,
cache: false,
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
crossDomain: true,
data: errDesc,
dataType: "jsonp",
error: function (req, type, errObj) {
console.error("Reporting error failed: " + type + "\nAt url: " + path + "\n" + errObj);
// In case you need to debug the error reporting function
},
succes: function (res) {
console.info("Reported error to server:\nRequest:" + errDesc + "\nResponse: " + res);
// extra error logging facility on client-side, invisible to most users
},
global: false // prevent triggering global ajax event handlers
});
return errDesc; // in case you want to reuse the errDesc
}
代碼已通過jshint進行驗證。請讓我知道是否仍有問題,因爲我沒有花時間完全複製您的設置(設置2個不同的域等)
附錄:如果您遇到問題跨域消息,JSON is not a subset of javascript,Cross-origin resource sharing,JSONP。
這是一個好主意:)我希望他們回答它 –
你有什麼試過?第一部分(沒有錯誤)非常簡單,只需要在安裝腳本時向您發送網站地址。 – Cristy
以及用戶將手動安裝它,這就是爲什麼我想在索引頁面發出請求,問題是我不知道如何發送我如何使請求或變量自動發送 – user3395024