0

私はマイクロソフトの感情APIを試しています。CORS が有効になっている単純な python Web サーバーを実行しています。以下は、サーバーを起動するサーバーのpythonファイルです。

python-server.py

#! /usr/bin/env python2
from SimpleHTTPServer import SimpleHTTPRequestHandler
import BaseHTTPServer

class CORSRequestHandler (SimpleHTTPRequestHandler):
    def end_headers (self):
        self.send_header('Access-Control-Allow-Origin', '*')
        SimpleHTTPRequestHandler.end_headers(self)

if __name__ == '__main__':
    BaseHTTPServer.test(CORSRequestHandler, BaseHTTPServer.HTTPServer)

http リクエストを送信する index.html ファイルがあります。

index.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",JSON.stringify({"my-key"}));
            },
            type: "POST",
            // Request body
            data: JSON.stringify({"url": "http://tinyurl.com/2g9mqh"}),
        })
        .done(function(data) {
            alert("success");
        })
        .fail(function() {
            alert("error");
        });
    });
</script>
</body>
</html>

約 30 秒後、接続拒否の応答が返されます。http リクエスト コードは、先ほどリンクした感情 API のページから取得しました。本当のサーバーが必要なのか、それともコードに間違いがあるのだろうか? ありがとう。

4

3 に答える 3

1

JSON は文字列として送信する必要があります。したがって、本体の仕様を次のように変更します。

data: "{\"url\": \"http://...\"}"

于 2015-11-19T09:28:20.943 に答える