【发布时间】:2012-12-04 13:02:43
【问题描述】:
我有一个 Web 服务,我从中接收 XML 响应。在 jQuery 中,我有以下内容,用于获取某本书:
function getBookByIsbn() {
if($("#getAndDeleteIsbn").val() == '')
{
alert("Please provide the ISBN");
return false;
}
$.ajax({
dataType: 'xml',
type: 'GET',
url: 'http://localhost:8080/library/books/' + $("#getAndDeleteIsbn").val(),
success: function (data) {
var string;
if (window.ActiveXObject){
string = data.xml;
}
else
{
string = (new XMLSerializer()).serializeToString(data);
}
$("#messageBox").text(string);
},
error: function (xhr, status, thrownError) {
var string;
if (window.ActiveXObject){
string = thrownError.xml;
}
else
{
string = (new XMLSerializer()).serializeToString(thrownError);
}
$("#messageBox").text(string);
}
});
}
现在,当请求成功时,会显示消息,但是当我收到错误时,不会显示内容。我做错了什么?
编辑:有人建议我在控制台中打印所有三个参数,所以我发现实际上 xhr 参数包含我需要的内容。 现在的问题是,如果我尝试创建警报(xhr.responseText),警报窗口会包含所需的消息,但如果我想在 div 中显示相同的内容,则什么也不会发生,我希望它在那里显示。
【问题讨论】:
-
什么是错误????“错误文本”
-
当服务器端出现问题时,我抛出一个包含一些 XML 的自定义异常,我想在 div 中显示该 XML...例如,如果用户引入的 ISBN 包含字母,我将收到
...我确实在控制台中收到此消息400 Bad RequestISBN 必须只包含数字!
标签: jquery ajax web-services client client-server