Данные POST с модулем запроса на Node.JS
Этот модуль является 'request https://github.com/mikeal/request
Я думаю, что я следую за каждым шагом, но мне не хватает аргумента.
var request = require('request');
request.post({
url: 'http://localhost/test2.php',
body: "mes=heydude"
}, function(error, response, body){
console.log(body);
});
на другом конце я
echo $_POST['mes'];
И я знаю, что php не ошибается...
Ответы
Ответ 1
EDIT: Вы должны проверить Needle. Он делает это для вас и поддерживает многостраничные данные и многое другое.
Я понял, что мне не хватает заголовка
var request = require('request');
request.post({
headers: {'content-type' : 'application/x-www-form-urlencoded'},
url: 'http://localhost/test2.php',
body: "mes=heydude"
}, function(error, response, body){
console.log(body);
});
Ответ 2
При использовании request
для http POST вы можете добавлять параметры следующим образом:
var request = require('request');
request.post({
url: 'http://localhost/test2.php',
form: { mes: "heydude" }
}, function(error, response, body){
console.log(body);
});
Ответ 3
Мне пришлось опубликовать пары ключ-значение без формы, и я мог легко это сделать, как показано ниже:
var request = require('request');
request({
url: 'http://localhost/test2.php',
method: 'POST',
json: {mes: 'heydude'}
}, function(error, response, body){
console.log(body);
});
Ответ 4
Если вы отправляете тело json, не используйте параметр form
. Использование form
сделает массивы в field[0].attribute
, field[1].attribute
и т.д. Вместо этого используйте body
.
var jsonDataObj = {'mes': 'hey dude', 'yo': ['im here', 'and here']};
request.post({
url: 'https://api.site.com',
body: jsonDataObj,
json: true
}, function(error, response, body){
console.log(body);
});
Ответ 5
var request = require('request');
request.post('http://localhost/test2.php',
{form:{ mes: "heydude" }},
function(error, response, body){
console.log(body);
});
Ответ 6
-
Установите модуль запроса, используя npm install request
-
В коде:
var request = require('request');
var data = '{ "request" : "msg", "data:" {"key1":' + Var1 + ', "key2":' + Var2 + '}}';
var json_obj = JSON.parse(data);
request.post({
headers: {'content-type': 'application/json'},
url: 'http://localhost/PhpPage.php',
form: json_obj
}, function(error, response, body){
console.log(body)
});
Ответ 7
Я должен получить данные из метода POST
кода PHP
. То, что работало для меня, было:
const querystring = require('querystring');
const request = require('request');
const link = 'http://your-website-link.com/sample.php';
let params = { 'A': 'a', 'B': 'b' };
params = querystring.stringify(params); // changing into querystring eg 'A=a&B=b'
request.post({
headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, // important to interect with PHP
url: link,
body: params,
}, function(error, response, body){
console.log(body);
});
Ответ 8
Я настоятельно рекомендую axios https://www.npmjs.com/package/axios установить его с помощью npm или пряжи
const axios = require('axios');
axios.get('http://your_server/your_script.php')
.then( response => {
console.log('Respuesta', response.data);
})
.catch( response => {
console.log('Error', response);
})
.finally( () => {
console.log('Finalmente...');
});