2016-03-05 28 views
2

我在文檔就緒函數中使用了click listeners。每個點擊監聽器都有一個冗長的代碼。爲了簡單起見,我創建了一個單獨的java腳本文件,並在該文件中放置單擊偵聽器,並在我的文檔中準備好加載該腳本。現在,Mozilla正在給我的這個錯誤在mozilla中格式不正確

沒有很好地形成

這裏是我使用

// ChangePasswordProcess.js File 

$("#changePasswordButton").click(function(){ 
    if($("#newPassword").val() != $("#confirmNewPassword").val()){ 
     alert('Your new password did not matched'); 
     return false; 
    }else if($("#newPassword").val() == '' || $("#confirmNewPassword").val() == ''){ 
     alert('Please enter new password'); 
     return false; 
    }else{ 
     alert('Password changed successfully'); 
    } 
}); 

這裏確切的代碼是我加載上面的Java腳本文件的方式在我的文檔中準備好了

$(document).ready(function(){ 
    $(function() { 
    $.getScript('js/ChangePasswordProcess.js'); 
    }); 
}); 

其實我想保留文件準備好fil通過在不同的java腳本文件中劃分它的代碼非常簡單和簡短。如果任何人可以有這樣做的替代解決方案?

enter image description here

+1

「不正確」的錯誤指向什麼?應該有更多的信息給出。另請注意,您不需要像在第二個代碼片段中那樣嵌套document.ready處理程序。 –

+0

我懷疑路徑是錯誤的,你正在返回一些HTML。檢查瀏覽器開發工具網絡中的實際請求本身,並查看響應正文中包含的內容 – charlietfl

+0

實際上,函數可以正常工作,但我關心的是控制檯警告。並根據Rory McCrossan我想我需要handel我單擊文檔中的事件準備好了這就是爲什麼我將它嵌套在文檔準備好 –

回答

2

這似乎是在Mozilla,報告「內容類型」作爲「應用程序/ xml」的,用於經由使用XMLHttpRequest的從本地磁盤file://協議檢索到的文件的錯誤。錯誤「格式不正確」表示javascript內容不是XML,但腳本操作支持FireFox成功恢復的視圖。我猜測是,這是同樣的問題Bug 409230

確認的錯誤行爲來自於錯誤使用上localhost運行的節點/ Express服務器服務於同一頁面和JavaScript文件通過http://時消失。 Node/express正確地將javascript文件的內容報告爲「application/javascript」,並且沒有錯誤消息。

測試HTML(與簡化準備功能):

<!DOCTYPE html><html><head><title>Not well-formed</title> 
<meta charset="utf-8"> 
<script src="lib/jquery-2.2.1.js"></script> 
<script> 
$(document).ready(function(){ 
     $.getScript('js/ChangePasswordProcess.js'); 
}); 
</script> 
</head><body> 
password: <input id="newPassword" type="text"><br> 
confirm: <input id="confirmNewPassword" type="text"><br> 
<button type="button" id="changePasswordButton">change</button> 
</body></html> 

腳本 在unminified jquery-2.2.1.js file,大約線8114,添加

console.log("content-type: " + jqXHR.getResponseHeader("Content-Type")); 

報告響應內容 - 類型。 js/ChangePasswordProcess.js文件從OP保持不變。