3

我正在查看 watson API 的文档(http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/doc/qaapi/#apiRef),但是关于如何将 API 与客户端 js 一起使用。我想使用 jquery 的 $.AJAX 函数。

如何使用 jquery 通过 API 验证我的帐户并向其发送问题?一旦我从 API 中获得 json,我就可以解析它,但是我该如何发送呢?

以下是我的想法,但我不知道从 BlueMix 获取身份验证信息的位置,然后发送请求以获取 JSON 的位置。

var questionJSON = {
    'question': {
        'evidenceRequest': {
            'items' : 1
        },
        'questionText': question
     }
};
$.ajax({    
    url: '' // url,
    dataType: 'json',
    method: 'PUT',
    beforeSend: function(xhr){
        //xhr.setRequestHeader('Authorization', 'Basic '+btoa(accessToken+':'));
    },
    success: function(answerJSON){
        // parse answerJSON
    }
});
4

3 回答 3

1

请查看我在 IBM developerWorks 上关于使用 Watson 问答服务的教程 - http://www.ibm.com/developerworks/cloud/library/cl-watson-qaapi-app/index.html#N10229

问候 Ganesh

于 2014-11-19T05:02:01.403 回答
0

我相信您可能需要使用类似的逻辑,如下所示:

function addUser(event)
{
.......................
$.ajax({    
url: '/users/adduser',,
dataType: 'json',
method: 'PUT',
beforeSend: function(xhr){
    //xhr.setRequestHeader('Authorization', 'Basic '+btoa(accessToken+':'));
},
success: function(answerJSON){
    // parse answerJSON
}
});
 };

/* * POST 到 adduser。*/

router.post('/adduser', function(req, res) {
var db = req.db;


 db.collection('userlist').insert(req.body, function(err, result){
    res.send(
        (err === null) ? { msg: '' } : { msg: err }
    );
    });
});

您可以按照以下链接获取有关客户端 js 的更多信息:

http://cwbuecheler.com/web/tutorials/2014/restful-web-app-node-express-mongodb/

于 2014-11-18T04:42:48.187 回答
0

您正在尝试执行跨域请求(http://en.wikipedia.org/wiki/Same-origin_policy)。这是不可能的。

使用 jsonp ( http://en.wikipedia.org/wiki/JSONP ) 从客户端调用 qa 服务的唯一方法。但现在不支持。我建议您在 Bluemix 中创建一个应用程序并将其用作您的代码和服务之间的代理。

于 2014-11-18T18:02:04.827 回答