$.ajax({
type: 'POST',
url: 'http://apius.faceplusplus.com/detection/detect',
crossDomain: true,
cache: false,
async: true,
headers: {
"Authorization": "Basic " + Base64.encode('abc123' + ":" + 'xyz123')
},
data: dataURL, //sending image
dataType: 'jsonp',
success: function(responseData, textStatus, jqXHR) {
alert(JSON.stringify(responseData));
},
error: function (responseData, textStatus, errorThrown) {
alert(JSON.stringify(responseData));
}
});
dataURL是// Base064 Encode&压缩低于20 kb var dataURL = compressImage(canvas,20); 基本上我发送图像进行检测。 错误是:无法加载资源:服务器响应状态为404(未找到) 我正处于警报状态404。 请提出任何解决方案。
答案 0 :(得分:0)
我在处理ajax时遇到的一个好习惯是我总是用我的浏览器手动检查ajax url ,所以如果它有问题肯定我的ajax不会工作。
所以我为你做了同样的事情,我找到了这个数据:
{
"error": "MISSING_ARGUMENTS: api_key",
"error_code": 1004
}
您是否希望在成功处理函数中获取此数据?这不错,但由于响应状态设置为错误,因此无法进入成功函数。
要检查错误,请打开开发者控制台(谷歌浏览器) - >网络 - >标题,然后查看status code
的值,您将得到:
400 BAD REQUEST
所以 你得到错误400而不是404 。我希望你得到这个,因为你没有传递api_key论点。
更新
我不确定服务器在哪里查看密钥(来自header vs params)。但是使用ajax作为数据参数发送它:
data:{ dataUrl: dataUrl, data api_key:"abc123",api_secret :"xyz123"}