我将尝试将使用Cordova插件的REST调用转换为JQuery AJAX POST。我的JQuery代码不正确,调用时出现连接被拒绝的错误(访问本地主机)。我成功地向本地主机发出GET请求,因此不存在连接问题。
REST API 代码:
REST API 代码:
@Path("/track")
public class TrackResource {
...
我想要调用的TrackResource类中的方法:
@POST
@Path("{trackid}")
@Consumes("application/json")
@Produces("application/json")
public Response addToResource(@PathParam("trackid") String trackid, String bodyJson) {
AJAX代码:
var trackingJSON = JSON.stringify(tracking_data);
var urlAjax = "http://localhost:7001/ds/resources/track/" + trackid;
$.ajax({
type: "POST",
url: urlAjax,
data: trackingJSON,
beforeSend: function() { $.mobile.showPageLoadingMsg("b", "Loading...", true) },
complete: function() { $.mobile.hidePageLoadingMsg() },
success: function(data) { alert("ajax worked"); },
error: function(data) {alert("ajax error"); },
dataType: 'json'
});
我不确定自己是否正确使用了ajax调用中的data选项,但据我理解,那是您想要传递到服务器端的数据所在的位置。
我确实有其他对此TrackResource类进行GET调用的工作,因此我知道URL的基本部分是正确的。 我也知道trackid值已正确填充。