我发布了我的第一个问题,因为我遇到了这个问题,试图用jQuery调用REST Web服务。 这是我的代码:
<script>
$("#selListSub").change(function() {
var listid = $("#selListSub option:selected").val();
$.ajax({
type : "GET",
beforeSend : function() {
headers = {
'Authorization' : 'myKey'
};
},
url : "https://api.createsend.com/api/v3.1/lists/" + listid + "/customfields.json",
success : function(data) {
alert("success");
}
});
})
</script>
我检索在我的&lt;中选择的选项选择&gt;然后用它来打电话给ws。
我寻找并尝试了我在本网站上找到的所有解决方案,但没有任何效果。我已经使用Postman上的Auth标头测试了网址,它运行正常。
Web服务应该返回一个json对象,但我想要实现的第一件事是达到成功函数...
我不知道它是否可以提供帮助,但这相当于我想要在java / jersey中做的事情(这有效):
String idList = request.getParameter("selListSub");
Client client = ClientBuilder.newClient();
WebTarget resourceTarget = client.target("https://api.createsend.com/api/v3.1/lists/" + idList + "/customfields.json");
String jsonInString = resourceTarget.request(MediaType.APPLICATION_JSON_TYPE).header("Authorization", "myKey").get(String.class);
如果有人看到我的错误,请告诉我; )
的问候。
答案 0 :(得分:0)
您可能不想更改beforeSend功能,如下所示
<script>
$("#selListSub").change(function() {
var listid = $("#selListSub option:selected").val();
$.ajax({
type : "GET",
beforeSend : function(xhr) {
xhr.setRequestHeader("Authorization", 'myKey');
},
url : "https://api.createsend.com/api/v3.1/lists/" + listid + "/customfields.json",
success : function(data) {
alert("success");
}
});
})
</script>
<强>更新强>
您可能还想在beforeSend函数中执行以下操作
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Content-Type", "application/json");