data: "{'s':'" + selectedText + "'}", // 手工拼接 JSON 字符串
contentType: "application/json; charset=utf-8",
若 selectedText 包含單引號、換行或特殊字符,生成的字符串不是合法 JSON,導致服務端解析失敗返回 500,前端進入 error 回調提示 "data error"。
data: { s: selectedText }, // jQuery 會自動序列化為合法 JSON
contentType: "application/json; charset=utf-8",
dataType: "json",
data 為對象時,jQuery 內部調用 JSON.stringify 正確處理轉義。contentType: "application/json" 告知服務端請求體為 JSON。s。
function ajaxSend() {
$('#btnSend').prop('disabled', true);
$.ajax({
type: "POST",
url: "Reader.aspx/GetStr",
data: { s: selectedText }, // 關鍵修正
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
$('#Report').html(data.d);
},
error: function (xhr, status, err) {
console.error("AJAX Error:", status, err, xhr.responseText);
alert("請求失敗:" + err);
},
complete: function () {
$('#btnSend').prop('disabled', false);
}
});
}