我在測試表單輸入功能是否正常,使用Ajax POST方式寫入(ASP.NET MVC)。
var data = new FormData();
data.append("TextArea", $("#TextArea").val());
var ajaxRequest = $.ajax({
type: "POST",
url: "@Url.Action("Test")",
contentType: false, // 告诉jQuery不要去這置Content-Type
processData: false, // 告诉jQuery不要去處理發送的數據
dataType: "json",
data: data
其中有TextArea欄位,剛好在看Bootstrap的網頁,就把裡面的內文貼進去試試,就造成錯誤無法寫入,於是一一檢查有什麼字元影響,最後找到這個字元所影響,測試結果為,只要字元有小於符號如下的字元都無法正常輸入.
<button>
<abc
<xxx
若小於符號與字元有空白分開就可以正常輸入
< button>
< abc
< xxx
x < y
這樣是正常的嗎?
這樣的限制不知道是程式的那一個機制把它給限制住了?
由於不清楚你無法正常輸入的錯誤訊息為何
目前只能推測,因為特規碼「<>」沒轉換的關係。
造成程式誤解為如下的情況
1.將其真的當成數值運算符號的小於
2.有html判斷處理,不得輸入html元素定義碼。如
3.在javascript造成元件宣告式而無法正常。
因為我也不知道錯誤訊息為何?它錯誤就只接跳.fail我自訂的錯誤訊息,所以實際錯誤的內容是什麼我也不清楚。
var data = new FormData();
data.append("TextArea", $("#TextArea").val());
var ajaxRequest = $.ajax({
type: "POST",
url: "@Url.Action("Test")",
contentType: false,
processData: false,
dataType: "json",
data: data.done(function (data, textStatus) {
alert("Success");
}).fail(function () {
alert("Error");
});
另外一問,JavaScript在VS 設定中斷點有作用嗎?好像設中斷它也不會中斷下來~
ajax 有自己的 error message 為什麼不用他呢
.fail(function (jqXHR, textStatus, errorThrown) {
alert(jqXHR.responseText);
});