gpt4 book ai didi

JQuery ajax 使用 POST 从启用 CORS 的服务器获取图像/png

转载 作者:行者123 更新时间:2023-12-01 00:18:30 25 4
gpt4 key购买 nike

我正在编写一个 HTML5/Backbone/Phonegap 应用程序 Github Repo它使用 52n 的 SensorObservationService REST API ( v1 API Docs )。每个 GET 请求都工作正常 - 但现在我想下载 POST 请求后生成的图片。

但是服务器响应状态为 400:

statusCode":400,"hints":["检查已发送到服务器的消息。可能无效。"],"reason":"错误请求","developerMessage":"无法读取 JSON...

这是我的 AJAX 调用:

var body = {
"base64":true,
"legend":false,
"timespan":"2013-10-30T00:00:00Z/2013-10-30T23:59:59Z",
"width":482,
"height":568,
"language":"en",
"grid":false,
"styleOptions": {
"ts_32e1174948e46f2e46fe597eb40b3557": {
"chartType": "line",
"properties": {
"color": "#b45e87",
"lineType":"solid",
"width":1
}
}
}
};
$.support.cors = true;

this.xhr = $.ajax({
crossDomain: true,
type: "POST",
url:"http://sensorweb.demo.52north.org/sensorwebclient-webapp-stable/api/v1/timeseries/getData",
processData: false,
dataType: "json",
accept: "application/json",
contentType: "application/json; charset=utf-8",
data: body
}).done(function(data) {
}).fail(function(xhr, textStatus) {
}).always(function() {
});

这是我的 fiddle - 如果我尝试使用 POSTMAN 进行相同的 POST 调用,服务器会按照他应该做的那样执行。

RESTClient-屏幕截图 Screenshot with working Call in RESTClient

我的通话出了什么问题?

最佳答案

这是 52n API 中的一个错误,感谢 52n,现已修复。解决办法如下:

$.support.cors = true;
this.xhr = $.ajax({
crossDomain: true,
type: "POST",
url: "http://sensorweb.demo.52north.org/sensorwebclient-webapp-stable/api/v1/timeseries/getData",
headers: {
"accept": "image/png",
"content-Type": "application/json",
},
data: JSON.stringify(body)
}).done(function (data) {
$('#output').html('<img src="data:image/png;base64,' + data + '" />');
});

-> JSFiddle

关于JQuery ajax 使用 POST 从启用 CORS 的服务器获取图像/png,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19688261/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com