我有一个调用JavaScript函数OnFailure
的Ajax表单。这是一个应该在div中向用户显示错误消息的函数:
function showError(ajaxContext) {
var response = ajaxContext.responseText;
response = $(response);
var itemVersion = response.filter("div")[0].innerHTML.trim().toString();
var error = response.filter("p")[0].outerHTML.toString();
$("#" + itemVersion.replace(".", "") + "-UpdateStagesResults").empty();
$(error).appendTo("#" + itemVersion.replace(".", "") + "-UpdateStagesResults");
}
response = $(response);
上的代码失败,错误发生在jQuery 1.9.1文件中:
Sizzle.error = function( msg ) {
throw new Error( "Syntax error, unrecognized expression: " + msg );
};
Error: Syntax error, unrecognized expression:
<p>You have not entered a valid date</p>
<div style="display:none;">V10.0</div>
<div id="V10.0" class="error"></div>
我上次检查时工作正常,但现在是错误的,我看不清楚原因。任何帮助都会很棒!
答案 0 :(得分:1)
如果来自服务器并包装在jQuery对象中,则应始终修剪字符串。因为服务器可以在返回的字符串的开头或结尾返回任何不可见的字符,具体取决于您返回响应或文件编码的方式(BOM?):
response = $($.trim(response));