我有一個div登錄該網站並管理它的功能是對象的方法:阿賈克斯成功與HTML字符串作爲url值
objLumberJack = {
// attributes
// edit before creation .set()
att: {
id: 'FrameBee_Body_Log',
header: 'LumberJack',
success: {
className: 'Success',
text: 'OK'
},
error: {
className: 'Error',
text: 'Fail'
},
},
// methods
// creates the object as structure defined above
// and append it to the body as first child
set: function() {
$('body').prepend(
'<div id="' + this.att.id + '">' +
'<header>' + this.att.header + '</header>' +
'<section></section' +
'</div>'
);
},
// update the box with the required string as first parameter
// and the optional boolean second parameter
add: function (strIN, booIN) {
var elmTMP =
((typeof booIN === 'undefined') ? '' :
('<span class="' + ((booIN) ? this.att.success.className : this.att.error.className) +
'">' + ((booIN) ? this.att.success.text : this.att.error.text) +
'</span>')) +
' ' + strIN;
$('#' + this.att.id + ' section').append(elmTMP);
},
// checks if the url exists
exists: function (urlIN) {
var booTMP = false;
$.ajax({
url: urlIN,
async: false,
dataType: 'html',
success: function() { booTMP = true; }
});
alert(urlIN + '\n' + booTMP);
return booTMP;
},
// shortcut to check an url and update the box
check: function (urlIN) {
this.add(urlIN, this.exists(urlIN));
}};
我用的檢查方法也把其他信息在日誌箱像
objMaster.log('<p>[Modules]</p>');
其中objMaster.log是一個快捷方式(它檢查用戶是否啓用了日誌框,如果是,更新它)。
// Log update shortcut for objLumberJack
log: function (urlIN) {
if (objManager.enableLog) {
objLumberJack.check(urlIN)
}
}
的問題是,與路徑,方法的行爲是正確的,與HTML字符串,而不是返回成功:
objMaster.log('<p>[Modules]</p>'); // [success] I espect error
objMaster.log('RES/MOD/test.js'); // [error] OK because test.js doesn't exists
objMaster.log('RES/MOD/jquery.js'); // [success] OK because jquery.js exists
,我無法理解。
編輯:
Here a live example of the code
,如果你嘗試用瀏覽器在網頁「(當前的URL)開什麼追加/
[模塊]
「?如果它以200響應,它正常工作。該頁面存在 – B3rn475我收到錯誤,因爲該文件不存在 – Giacomo
嘗試添加一些調試信息。 更改函數(){booTMP = true; }在函數(數據){booTMP = true;的console.log(數據); } – B3rn475