401 Watson Assistant API未经授权的ajax调用错误

时间:2018-04-11 21:00:07

标签: javascript jquery ajax

我正在尝试从客户端向Watson Assistant API发出ajax请求,所以我在php中使用了这个代码工作正常但是当我尝试在jQuery中创建它时,我得到了401未经授权的错误。
PHP:

$data['input']['text'] = $_POST['message'];
if(isset($_POST['context']) && $_POST['context']){
  $data['context'] = json_decode($_POST['context'], JSON_UNESCAPED_UNICODE);
}
$data['alternate_intents'] = false;
$json = json_encode($data, JSON_UNESCAPED_UNICODE);

// Post the json to the Watson API via cURL.
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, 'https://watson-api-explorer.mybluemix.net/conversation/api/v1/workspaces/'.$workspace_id.'/message?version='.$release_date);
curl_setopt($ch, CURLOPT_USERPWD, $username.":".$password);
curl_setopt($ch, CURLOPT_POST, true );
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
$result = trim( curl_exec( $ch ) );
curl_close($ch);

// Responce the result.
echo json_encode($result, JSON_UNESCAPED_UNICODE);

JS:

$.ajax({
  url: apiUrl,
  type: 'POST',
  dataType: 'json',
  data: {
    message: message,
    context: context
  },
  headers:{
    'Authorization' : 'Basic' + btoa('f7be829c-ae6d-47d8-b2bd-65a40ad45aa' +':'+ 'hJcToxQ23Zk'),
  },
  contentType: 'application/json',
  timeout:10000
})

JS代码中缺少什么?
注意:提到的凭证仅供参考。

0 个答案:

没有答案