преобразовать данный запрос curl в запрос ajax - PullRequest
0 голосов
/ 23 мая 2018

У меня есть curl запрос:

curl -X POST -u "uname":"pwd" --header "Content-Type:application/json" --data "{\"input\": {\"text\": \"Hello there\"}}" "https://gateway.watsonplatform.net/assistant/api/v1/workspaces/YourWorkspaceID/message?version=20XX-XX-XX"

что эквивалентно ajax запросу для этого curl запроса?

Я пытался,

    $.ajax({
    type: 'post',
    url: "https://gateway.watsonplatform.net/assistant/api/v1/workspaces/XXX...XXX/message?version=20XX-XX-XX",        
    data: "{ \"input\": {\"text\": \"Hello\"}} ",          
    headers : {'Content-Type' : 'application/json' },
    u : { 'uname' : 'pwd' },
    success:function(response)
    {
        console.log("Success!!");
    },

    error : function(xhr, status, error)
    {
        console.log("Status of error message" + status + "Error is" + error);
    }   

    });

Пожалуйста, исправьте запрос ajax.

1 Ответ

0 голосов
/ 23 мая 2018

Вы должны отправить пользователя / пароль в заголовке авторизации, аналогично этому https://stackoverflow.com/a/11960692/3331845

$.ajax({
    type: 'post',
    url: "https://gateway.watsonplatform.net/assistant/api/v1/workspaces/XXX...XXX/message?version=20XX-XX-XX",        
    data: "{ \"input\": {\"text\": \"Hello\"}} ",          
    headers : {'Content-Type' : 'application/json' },
    beforeSend: function (xhr) {
    xhr.setRequestHeader ("Authorization", "Basic " + btoa(username + ":" + password));
},
    success:function(response)
    {
        console.log("Success!!");
    },

    error : function(xhr, status, error)
    {
        console.log("Status of error message" + status + "Error is" + error);
    }   

    });
...