Javascript 如何在node.js中使用$.ajax而不打开浏览器
首先,我对node.js有点陌生。我想使用这段代码(它在浏览器中工作)Javascript 如何在node.js中使用$.ajax而不打开浏览器,javascript,jquery,browser,cmd,Javascript,Jquery,Browser,Cmd,首先,我对node.js有点陌生。我想使用这段代码(它在浏览器中工作)$.ajax('/postmessage'{method:“POST”,data:{message:'foo',username:'bar'}),而不打开浏览器,让它在我做任何其他事情时运行。 有可能吗?还是有更好的办法 谢谢 编辑:我尝试使用axios: const axios=require('axios'); const instance=axios.create({baseURL:'sitehere'}); post(
$.ajax('/postmessage'{method:“POST”,data:{message:'foo',username:'bar'})
,而不打开浏览器,让它在我做任何其他事情时运行。
有可能吗?还是有更好的办法
谢谢
编辑:我尝试使用axios:const axios=require('axios');
const instance=axios.create({baseURL:'sitehere'});
post('/postmessage',{message:'foo',username:'bar'})
.那么(
函数(响应){console.log(响应);}
.接住(
函数(错误){console.log(错误);})
我收到错误403,我的消息未发送。请参阅:
默认情况下,axios将JavaScript对象序列化为JSON
在application/x-www-form-urlencoded格式中,您可以使用
以下选项之一
在node.js中,您可以使用querystring模块,如下所示:
var querystring = require('querystring');
axios.post('http://something.com/', querystring.stringify({ foo: 'bar' }));
const axios = require('axios');
const querystring = require("querystring");
const instance = axios.create({ baseURL: 'sitehere' });
instance.post('/postmessage', querystring.stringify({ message: 'foo', username: 'bar'}))
.then(
function (response) { console.log(response); })
.catch(
function (error) { console.log(error); })
您也可以使用qs库
你就快到了。有一个警告。如下:
$.ajax('/postmessage'{method: "POST",data:{message: 'foo', username: 'bar'})
POST /postMessage HTTP/1.1
Content-Type: application/json
{"message":"foo", "username":"bar"}
发送此HTTP请求:
POST /postMessage HTTP/1.1
Content-Type: application/x-www-form-urlencoded
message=foo&username=bar
您使用axios将发送以下信息:
$.ajax('/postmessage'{method: "POST",data:{message: 'foo', username: 'bar'})
POST /postMessage HTTP/1.1
Content-Type: application/json
{"message":"foo", "username":"bar"}
这已在中指出,并且是一个深思熟虑的选择,因为axios的主要用例之一是REST API的消费
node.js有一个内置的querystring
模块,允许您将字符串作为POST请求的正文内容提供给axios,如下所示:
var querystring = require('querystring');
axios.post('http://something.com/', querystring.stringify({ foo: 'bar' }));
const axios = require('axios');
const querystring = require("querystring");
const instance = axios.create({ baseURL: 'sitehere' });
instance.post('/postmessage', querystring.stringify({ message: 'foo', username: 'bar'}))
.then(
function (response) { console.log(response); })
.catch(
function (error) { console.log(error); })
您通常不会将jQuery与Node.js一起使用,因此您不会使用
$.ajax()
。您通常会使用类似于或的内容进行web请求