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"}