jquery post 请求无法获取 404 状态
jquery post request not working getting 404 status
$.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 编码并压缩到 20 kb 以下
var dataURL = compressImage(canvas, 20);
基本上我正在发送图像来检测。
加载资源错误 is:Failed:服务器响应状态为 404(未找到)
我收到状态 404 警报。
请提出任何解决方案。
我在处理 ajax 时发现的一个好习惯是 我总是用我的浏览器 手动检查 ajax url,所以如果肯定有问题,我的 ajax 无法正常工作。
所以我为你做了同样的事情,我发现了这个数据:
{
"error": "MISSING_ARGUMENTS: api_key",
"error_code": 1004
}
那么您是否希望在您的成功处理函数中获得这些数据?这还不错,但它不会进入成功函数,因为响应状态设置为错误.
查看错误打开开发者控制台(google chrome) -> network -> headers,然后查看status code
的值就可以了得到:
400 BAD REQUEST
所以 您收到错误 400 而不是 404。我希望你能得到这个,因为你没有传递 api_key 参数。
更新:
我不确定服务器从哪里查找密钥(来自 headers vs params)。但是要使用 ajax 作为数据参数发送它,请执行以下操作:
data:{ dataUrl: dataUrl, data api_key:"abc123",api_secret :"xyz123"}
$.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 编码并压缩到 20 kb 以下 var dataURL = compressImage(canvas, 20); 基本上我正在发送图像来检测。 加载资源错误 is:Failed:服务器响应状态为 404(未找到) 我收到状态 404 警报。 请提出任何解决方案。
我在处理 ajax 时发现的一个好习惯是 我总是用我的浏览器 手动检查 ajax url,所以如果肯定有问题,我的 ajax 无法正常工作。
所以我为你做了同样的事情,我发现了这个数据:
{
"error": "MISSING_ARGUMENTS: api_key",
"error_code": 1004
}
那么您是否希望在您的成功处理函数中获得这些数据?这还不错,但它不会进入成功函数,因为响应状态设置为错误.
查看错误打开开发者控制台(google chrome) -> network -> headers,然后查看status code
的值就可以了得到:
400 BAD REQUEST
所以 您收到错误 400 而不是 404。我希望你能得到这个,因为你没有传递 api_key 参数。
更新:
我不确定服务器从哪里查找密钥(来自 headers vs params)。但是要使用 ajax 作为数据参数发送它,请执行以下操作:
data:{ dataUrl: dataUrl, data api_key:"abc123",api_secret :"xyz123"}