服务端api用php写还是用node,如何使用node搭建服务器,写接口,调接口,跨域

这次给大家带来如何使用node搭建服务器,写接口,调接口,跨域,使用node搭建服务器,写接口,调接口,跨域的注意事项有哪些,下面就是实战案例,一起来看一下。。

服务端项目目录下:

1、npm init 创建package.json文件;

2、创建一个app.js文件,下面的标注都有了,简单的写了一个接口,下面会用,对跨域访问做了设置var express=require('express');

var app =express();

//设置跨域访问

app.all('*', function(req, res, next) {

res.header("Access-Control-Allow-Origin", "*");

res.header("Access-Control-Allow-Headers", "X-Requested-With");

res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");

res.header("X-Powered-By",' 3.2.1');

res.header("Content-Type", "application/json;charset=utf-8");

next();

});

var questions=[

{

data:213,

num:444,

age:12

},

{

data:456,

num:678,

age:13

}];

//写个接口123

app.get('/123',function(req,res){

res.status(200),

res.json(questions)

});

//配置服务端口

var server = app.listen(3000, function () {

var host = server.address().address;

var port = server.address().port;

console.log('Example app listening at http://%s:%s', host, port);

})

3、接下来该安装 express 框架了吧,因为我们上面用到了,直接安装并写入依赖里。npm install express --save

项目目录下:

1、随便创建一个 index.html 文件,做一个ajax 的get请求看看,url就是我们刚创建的服务端的接口地址。$.ajax({

type:'get',

url:'http://localhost:3000/123',

success:function(data){

console.log(data);

},

error:function(){

console.log('error');

}

})

2、看下面的图可以知道我们已经请求到数据了,拿到的数据就随便你处置了。

8f497ab7f8521847116133aa4f4a4e83.png

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是几种常见的解决跨域问题的代码示例: 1. CORS(服务端配置) 在服务端的响应中添加 CORS 相关的响应头,允许来自指定源的跨域请求。 ```java // Java - Spring Boot 示例 @Configuration public class CorsConfig { @Bean public WebMvcConfigurer corsConfigurer() { return new WebMvcConfigurerAdapter() { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .allowedOrigins("http://example.com") // 允许的源地址 .allowedMethods("GET", "POST", "PUT", "DELETE") // 允许的请求方法 .allowedHeaders("*") // 允许的请求头 .allowCredentials(true); // 是否允许发送 cookie } }; } } ``` 2. JSONP(前端代码) 通过动态创建 `<script>` 标签来获取跨域数据。 ```javascript function handleResponse(data) { // 处理响应数据 } var script = document.createElement('script'); script.src = 'http://example.com/api?callback=handleResponse'; document.body.appendChild(script); ``` 3. 代理服务器(服务端代码) 通过服务器端代理转发请求,解决跨域问题。 ```javascript // Node.js - Express 示例 const express = require('express'); const request = require('request'); const app = express(); const API_URL = 'http://example.com/api'; app.get('/api', (req, res) => { const url = API_URL + req.url; req.pipe(request(url)).pipe(res); }); app.listen(3000, () => { console.log('Proxy server is running on port 3000'); }); ``` 4. WebSocket(前端代码) 使用 WebSocket 进行跨域通信。 ```javascript // 前端代码 const socket = new WebSocket('ws://example.com/socket'); socket.onopen = function() { // 连接成功,可以进行通信 socket.send('Hello Server!'); }; socket.onmessage = function(event) { // 处理接收到的消息 console.log('Received message:', event.data); }; ``` 这些示例代码只是简单的演示,实际解决跨域问题时,需要根据具体的应用场景和技术栈选择合适的解决方案。同时,还需注意安全性和适用性等方面的考虑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值