我正在尝试将使用 Cordova 插件的 REST 调用转换为 JQuery AJAX POST。我没有正确的 JQuery 代码,调用出现连接被拒绝错误(命中 localhost)。我已成功向本地主机发出 GET 请求,因此不存在连接问题。
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 值也正确填充。