2
我在Visual Studio 2012中發現了這個令人討厭的問題,其中IDE沒有摺疊包含某些與Ajax語法的JavaScript函數。Visual Studio 2012中的Javascript函數崩潰無法與jQuery ajax語法一起工作
下面的代碼,如果你把VS2012一個.cshtml文件中不會讓你崩潰擁有jQuery的語法功能:
VS 2012代碼
function HelloWorld()
{
}
function GoodByeWorld()
{
}
function UpdatePatientDiagnosis()
{
if (ValidateDiagnosisFields() == false)
return;
var request = $.ajax({
type: "POST",
url: "@Url.Action("AjaxUpdatePatientDiagnosis", "Referral")",
data: "{ CodeTypeId : \"" + $("#DiagnosisCodeType_Description option:selected").val() + "\"," +
" Code: \"" + $("#Diagnosis_Code").val() + "\"," +
" Description : \"" + $("#Diagnosis_Description").val() + "\" }",
contentType: "application/json; charset=utf-8",
dataType: "text"
});
request.done(function(msg)
{
// Saves the rest of the form.
$('#btnPatientSave').click();
});
request.fail(function(jqXHR, textStatus)
{
ShowMessagePopup("Error", "An error occurred trying to update diagnosis.");
});
}
以下是VS 2012中示例代碼的屏幕截圖
但是,如果您將相同的示例代碼放入VS 2010中的Web文件中,它就會崩潰。這裏是一個屏幕截圖顯示它崩潰了:
無論出於何種原因,VS 2012 IDE不喜歡request.done和request.fail的語法。
這只是非常討厭,因爲我正在研究一個擁有數千行JS函數的項目,並且我無法摺疊具有此特定jQuery語法的項目。任何關於如何在VS2012中重構這個以使其工作的建議?我在VS 2013中測試過,它也有同樣的問題。