我正在查看watson API(http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/doc/qaapi/#apiRef)的文档,但是关于如何在客户端js中使用API没有明确的方法。我想使用jquery的$ .AJAX函数。
如何使用jquery使用API对我的帐户进行身份验证并向其发送问题?一旦我获得了json形式的API,我就可以解析它,但是我该如何发送它?
以下是我考虑这样做的方法,但我不知道从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
}
});
答案 0 :(得分:1)
请查看我在IBM developerWorks上使用Watson&#39的问答服务的教程 - http://www.ibm.com/developerworks/cloud/library/cl-watson-qaapi-app/index.html#N10229
此致 内甚
答案 1 :(得分: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/
答案 2 :(得分:0)
您正在尝试执行跨域请求(http://en.wikipedia.org/wiki/Same-origin_policy)。这是不可能的。
使用jsonp(http://en.wikipedia.org/wiki/JSONP)从客户端调用qa服务的唯一方法。但现在不支持。我建议您在Bluemix中创建一个应用程序,并将其用作代码和服务之间的代理。