我用JQuery 2.0.3这样做http post:
$.ajax({
type: "POST",
url: "/demo/submitTransactions",
data: JSON.stringify({ ConfirmedTransactions: confirmedTransactions }),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data){alert(data);},
failure: function(errMsg) {
alert(errMsg);
}
});
json在服务器上发布和编写,但是响应success:
和failure:
在AFAIK中没有启用。接收json数据的控制器代码为
@RequestMapping(value = "/submitTransactions", method = RequestMethod.POST, headers = {"content-type=application/json"})
@ResponseBody
@Transactional
public String submitTransactions(@RequestBody @Valid final String string) {
try {
PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(filename, true)));
out.println("\n"+string);
out.close();
} catch (IOException e) {
LOGGER.severe("IOException");
e.printStackTrace();
}
LOGGER.info("Received transactions "+string);
return "Received JSON data";
}
我如何还能使成功和失败得到发布的json成功接收或提交失败的回调?它可以提交数据,但是来自服务器的响应“Received JSON data”
不做任何事情,这与控制器方法void
没有区别,只是用return
语句写入数据。您是否可以建议一个改进,以便发布数据的javascript也接收响应,我认为如果服务器出现错误,它可能是状态200、OK,或者状态500或类似?
$.ajax({
type: "POST",
url: "/demo/submitTransactions",
data: JSON.stringify({ ConfirmedTransactions: confirmedTransactions }),
contentType: "application/json; charset=utf-8",
dataType: "json"
})
.done(function(data){alert('Done!'+data);})
.fail(function(errMsg) {alert('Failure!'+errMsg);});
现在,如果我也使用jackson将控制器代码更改为响应对象
@requestmapping(value=“/submitTransactions2”,method=requestmethod.post,headers={“content-type=application/json”})@responsebody@transactional public AccountResponse submitTransactions2(@requestbody@valid final String String){try{PrintWriter out=new PrintWriter(new BufferedWriter(new FileWriter(new FileWriter(filename,“收到”);}
然后我得到的回答是“完成!”(但是当只使用字符串而不使用Jackson时,我得到的响应是“failed”。
根据第二个答案更新后,这种变化似乎起作用了:
$.ajax({
type: "POST",
url: "/demo/submitTransactions",
data: JSON.stringify({ ConfirmedTransactions: confirmedTransactions }),
contentType: "application/json; charset=utf-8",
dataType: "text"
})
.done(function(data){alert('Done!'+data);})
.fail(function(errMsg) {alert('Failure!'+errMsg);});
.
正如Oleg Estekhin在回答中所说,正确的属性是error
。您还应该使用promise变体:
$.ajax({ ... })
.done(...)
.fail(...);
接下来,应该将datatype
更改为text
,以便jQuery知道返回的值将作为普通文本而不是JSON进行解析。这将导致调用success回调。最后的代码如下所示:
$.ajax({
type: "POST",
url: "/demo/submitTransactions",
data: JSON.stringify({ ConfirmedTransactions: confirmedTransactions }),
contentType: "application/json; charset=utf-8",
dataType: "text"
})
.done(function(data){alert(data);})
.fail(function(errMsg) {alert(errMsg);})
;
本文向大家介绍如何处理jQuery AJAX成功事件?,包括了如何处理jQuery AJAX成功事件?的使用技巧和注意事项,需要的朋友参考一下 要处理jQuery AJAX成功事件,请使用方法。只要AJAX请求成功完成,ajaxSuccess(callback)方法就会附加一个要执行的函数。这是一个Ajax事件。 这是此方法使用的所有参数的描述- callback- 要执行的功能。事件对象,XML
问题内容: 以前,在Rails 2.3.8中,我使用了原型帮助器和(以及其他)。 这些选项如下: (来自文档的示例)。此示例将在成功后用类“ cart”更新html元素,而在失败时将类“ error”更新。 现在我相信操作方式已经改变,我们写: 并且没有设置选项了。现在,代替普通的html,我们渲染javascript,如下所示(在jquery中): 但是您如何处理错误情况?我可以在控制器中处理它
使用下面的代码和twitter4j库,我终于成功地处理了我自己的tweets。我现在一直在努力调整代码,以吸引特定用户的推文,没有任何运气,不管网上有很多人发布了“工作代码”。有人能引导我,告诉我到底需要改变什么吗?谢了! 编辑-修改的代码,以获得用户推特。不产生错误或结果...
我正在尝试使用Web客户端创建REST调用 我只想记录通话结果。成功时 - 使用响应正文记录成功消息,在 5XX 或超时或其他时 - 记录错误消息。日志应该在后台创建(而不是由创建调用的线程创建)但是每次都会执行,工作正常,但也有 记录在日志文件中。 我也在一些教程中看到过方法,但在我的设置中有这样的方法。 如何记录成功和失败消息?
我正在与我无法控制的遗留库集成。 它定义了以下接口: 这个“subscribe”方法被不同的线程频繁调用。我关心“Future.get()”的结果的唯一情况是当它失败时,所以我可以获取并处理异常。这不一定发生在调用线程中。另外,在“Future.get()”上阻塞调用线程对我来说是非常昂贵的,因为即使成功也可能需要几秒钟才能完成。 所以我的任务是以某种方式“后处理”所有这些期货,过滤失败的期货。基
我在服务器1、服务器2和服务器3上运行zookeeper设置,同样kafka也在服务器1、服务器2和服务器3上运行。 安装程序正在kubernetes中运行。 问题陈述: > 如果一个动物园管理员设置关闭,整个设置都会关闭,因为kafka依赖于动物园管理员。我说得对吗? 如果Q1正确-是否有任何方法来进行设置,例如如果一个动物园管理员服务器将停机,那么kafka应该按原样运行? 如何在kubern