在Node.JS上使用请求模块发布数据
此模块是“请求”模块 我想我每一步都在做,但我错过了一个论点在Node.JS上使用请求模块发布数据,node.js,request,Node.js,Request,此模块是“请求”模块 我想我每一步都在做,但我错过了一个论点 var request = require('request'); request.post({ url: 'http://localhost/test2.php', body: "mes=heydude" }, function(error, response, body){ console.log(body); }); 在另一端,我有 echo
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没有错…编辑:您应该检查一下。它为您做到这一点,并支持多部分数据,以及更多 我发现我少了一个头球
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);
});
对http POST使用
request
时,可以通过以下方式添加参数:
var request = require('request');
request.post({
url: 'http://localhost/test2.php',
form: { mes: "heydude" }
}, function(error, response, body){
console.log(body);
});
我必须在没有表单的情况下发布键值对,我可以像下面这样轻松完成:
var request = require('request');
request({
url: 'http://localhost/test2.php',
method: 'POST',
json: {mes: 'heydude'}
}, function(error, response, body){
console.log(body);
});
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)
});
如果您发布的是json正文,请不要使用
form
参数。使用表单
将使数组变成字段[0]。属性
,字段[1]。属性
等。而不是像这样使用正文
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);
});
我强烈建议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...');
});
我必须从
PHP
代码的POST
方法中获取数据。对我起作用的是:
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);
});
为什么不直接使用http.request?我有一种感觉,身体没有映射到像这样的查询字符串参数。试试
url:'http://localhost/test2.php?mes=heydude“
除了json字符串中的错误之外,这一个还帮了我的忙!请注意,“form”部分有一个对象传递给它,因此您可以将其中的所有内容都定义为一个要开始的对象,而不必做准备工作“jsonDataObj”必须字符串化(JSON.stringify(…),否则它会崩溃如果您字符串化它,实际上会崩溃。这可能取决于接收服务器的设置方式。谢谢您的回答。我在哪里可以找到这个的文件?因为我怀疑post方法,但是Github中的文档还不足以解决这个问题。如果您发送的是'content-type':'application/JSON'
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);
});