每当我在我的ajax中调用成功或错误时似乎没有运行,但是如果我将其更改为完成它可以正常工作。这是我可以展示的程序中最简单的例子:
HTML:
<label>Test Server:</label>
<button id="btnTest">Test</button>
的.js:
$('#btnTest').click(function() {
test();
});
function test() {
$.ajax({
type: 'GET',
url: rootURL + '/'+'testing',
dataType: "text",
success: function (data, textStatus, jqXHR) {
$('#message').html(data.responseText);
},
error: function (jqXHR, textStatus, errorThrown) {
alert(textStatus+":"+errorThrown);
$('#message').html("No Response");
}
});
}
但是,如果我改为使用完整的功能而不是像下面那样工作正常。
complete: function (data, status) {
$('#message').html(data.responseText);
}
我在这里错过了一个明显的错误吗?
编辑:这是来自服务器的相关代码,我还将调用js函数的代码添加到上面的代码块中。
@GET
@Produces("text/plain")
@Path("/testing")
public String testing() {
return "Test passed.";
}
答案 0 :(得分:0)
您遇到语法错误。您需要在警报中连接错误变量,并在最后找到丢失的括号。
async:false,
没有看到整个事情 - 您只能从同步函数返回值。否则你将不得不进行回调。添加$.ajax({
type: 'GET',
url: rootURL + '/'+'testing',
dataType: "text",
async:false,
success: function (data, textStatus, jqXHR) {
$('#message').html(data.responseText);
},
error: function (jqXHR, textStatus, errorThrown) {
alert(textStatus+":"+errorThrown
$('#message').html("No Response");
}
});
pattern="[0-9]{11}"