javascript - 将 Microsoft 的 Emotion API 添加到 HTML 网站

标签 javascript html ajax windows azure-cognitive-services

我试图简单地创建一个 HTML 网页,让我从用户输入的图像中获得情感。 我使用 Microsoft 的文档创建了一个 HTML 文件,如下所示:

<!DOCTYPE html>
<html>
<head>
    <title>JSSample</title>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
</head>
<body>
<script type="text/javascript">
    $(function() {
        $.ajax({
            url: "https://api.projectoxford.ai/emotion/v1.0/recognize",
            beforeSend: function(xhrObj){
                // Request headers
                xhrObj.setRequestHeader("Content-Type","application/json");
                xhrObj.setRequestHeader("Ocp-Apim-Subscription-Key","my-key");
            },
            type: "POST",
            // Request body
            data: {"url": "https://oxfordportal.blob.core.windows.net/emotion/recognition1.jpg"},
        })
        .done(function(data) {
            alert("success");
        })
        .fail(function() {
            alert("fail");
        });
    });
</script>
</body>
</html>

我的理解是,这应该不需要服务器就可以工作,但是,我在加载网站时总是收到“失败”消息。 任何帮助都会有效,谢谢!

最佳答案

使用我们(Microsoft)在此处提供的 API 测试工具: https://dev.projectoxford.ai/docs/services/5639d931ca73072154c1ce89/operations/563b31ea778daf121cc3a5fa/console

确保您可以发出正确的请求,并且您实际上正在设置您的 api key ,而不是发送 my-key。

如果您的 key 无效,您将在 JavaScript 控制台中收到错误消息:请求的资源上存在“Access-Control-Allow-Origin” header 。

如果您的 key 有效,但您的数据未转义,您将收到 400 bad request 错误。更新您的数据字段以用 '' 换行。请参阅我的示例(填写您的 key )http://jsfiddle.net/w3npr1ue

$(function() {
        $.ajax({
            url: "https://api.projectoxford.ai/emotion/v1.0/recognize",
            beforeSend: function(xhrObj){
                // Request headers
                xhrObj.setRequestHeader("Content-Type","application/json");
                xhrObj.setRequestHeader("Ocp-Apim-Subscription-Key","SetYourKey");
            },
            type: "POST",
            // Request body
             data: '{"url": "http://1.bp.blogspot.com/-dWka6rPeHZI/UL7newH9TnI/AAAAAAAAAQI/OfU3TW0dDBE/s220/Asa%2Band%2BDada%2Bin%2Bst.%2Bpetersburg%2BSmall.jpg"}',
        })
        .done(function(data) {
            alert("success");
        })
        .fail(function(error) {
            console.log(error.getAllResponseHeaders());
            alert("fail");
        });
    });

关于javascript - 将 Microsoft 的 Emotion API 添加到 HTML 网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34817391/

相关文章:

ajax - 在 AngularJS 中重写 jQuery Ajax 调用

javascript - navigator.mimeTypes 结构

javascript - AngularJS 中类似 jQuery 的动画支持吗?

java - 无法加载资源 : the server responded with a status of 404 ()

html - 一个div(左边一个div,右边下面4个div)

html - 你能推荐一个 IDE 来开发 HTML5 canvas 应用程序吗

php - 使用 AJAX 提交表单,将表单数据传递给 PHP,无需刷新页面

javascript - jQuery - 水平滚动时输出scrollLeft

相当于 Python 的 __setitem__ 的 JavaScript

javascript - 根级别的数据在 $.ajax 调用中无效