2016-06-07 3 views
1

Я не очень хорошо знаком с узлами js, а также с обработкой http-запросов, поэтому простите меня, если это что-то очевидное.

Я следую примеры на этом website:

$.ajax({ 
    url: 'https://api.wit.ai/message', 
    data: { 
    'q': 'set an alarm in 10min', 
    'access_token' : 'MY_WIT_TOKEN' 
    }, 
    dataType: 'jsonp', 
    method: 'GET', 
    success: function(response) { 
     console.log("success!", response); 
    } 
}); 

Я пытаюсь создать эквивалент этого, но в узле Js. Я попытался использовать «node request», но мой код не работает. Я попытался много вариантов этого, но безрезультатно.

Вот пример:

var request = require('request'); 

var url = 'https://api.wit.ai/message'; 

var data = { 
    'q': 'hello test123 trying to get entities from this message', 
    'access_token': 'MY_WIT_TOKEN' 
}; 

request.get({ url: url, formData: data }, function (err, httpResponse, body) { 
    if (err) { 
     return console.error('post failed:', err); 
    } 

    console.log('Get successful! Server responded with:', body); 
}); 

Когда я скомпилировать этот код, мой терминал отвечает:

Что-то пошло не так. Мы получили уведомление.

+0

Лучше обратитесь к [Docs] (https://nodejs.org/api/http.html) –

ответ

1

Использование http:

var http = require('http'); 

http.get({ 
    host: 'api.wit.ai', 
    path: '/message' 
}, function(response) { 

    var body = ''; 

    // get all data from the stream 
    response.on('data', function(data) { 
     body += data; 
    }); 

    response.on('end', function() { 
     // all data received 
     console.log(body) 
    }); 
}); 
+1

Модуль запроса, что ОП уже использует более высокий уровень и проще в использовании модуль для простых запросов HTTP. Итак, не уверен, почему вы предлагаете создать резервную копию только http-модуля. Он может работать нормально, но требует большего количества кода и имеет меньше возможностей. – jfriend00

1

Для тех, кто заинтересован здесь запрос узла ответ, используя который работал для меня.

var request = require('request'); 

var headers = { 
    'Authorization': 'Bearer <WIT_TOKEN>' 
}; 

var options = { 
    url: 'https://api.wit.ai/message?v=20160607&q=hello', 
    headers: headers 
}; 

function callback(error, response, body) { 
    if (!error && response.statusCode == 200) { 
     console.log(body); 
    } 
} 

request(options, callback);