• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

React中调用Asp.netWebApi

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1、安装node 相关包

npm install --save react react-dom superagent

2、安装gulp相关包

npm install --save gulp-browserify gulp reactify gulp-connect

3、编写gulpfile.js 构建React文件

var gulp = require('gulp'),
    browserify = require('gulp-browserify'),
    reactify = require('reactify'),
    connect = require('gulp-connect');


gulp.task('build', function() {
    gulp.src('index.js').
    pipe(browserify({
            transform: ['reactify']
        }))
        .pipe(gulp.dest('build.js'))
})

gulp.task('connect', function() {
    connect.server({
        port: 3000,
        livereload: true
    })
})

gulp.task('html', function() {
    gulp.src('*.html')
        .pipe(connect.reload())
})
gulp.task('js',['build'], function() {

    gulp.src('*.js')
        .pipe(connect.reload())
})

gulp.task('watch', function() {
    gulp.watch('*.html', ['html'])
    gulp.watch('*.js', ['js'])
})

gulp.task('default', ['build', 'watch', 'connect'])

4、编写request请求

  1、新增常量文件 constants.js 用来存放 request 请求中 Basic 认证的用户名  密码

  

module.exports={
    uname:'123',
    pwd:'123'
}

   2、新增调用 API 文件  api.js

var request = require('superagent');
var constants = require('./constants.js');


module.exports = {
    Get: function(callback) {
        request
            .get('http://localhost:53691/api/value')
            .auth(constants.uname, constants.pwd)
            .end(function(err, res) {
                if(err){
                    alert(err);
                }
                callback(res.body);
            });
    }
}

5、新增index.js 

var React=require('react'),
    ReactDOM=require('react-dom'),
    API=require('./Api.js');



var ItemList=React.createClass({
    getInitialState:function(){
        return {
            Users:[]
        }
    },
    componentWillMount:function(){
        var users=API.Get(function(users){
            this.setState({
                Users: users
            })
        }.bind(this));
        
    },
    render:function(){
        var users=this.state.Users;
         if(Array.isArray(users)==false)throw new Error('users is not array')
        var lists=users.map(function(item){
            return <li key={item.ID}>{item.ID}:{item.Name}</li>
        })
        return (
            <ul>
                {lists}
            </ul>
        )
    }
});


ReactDOM.render(<ItemList />,document.getElementById('app'))

6、新增index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <h1>SuperAgent!</h1>
    <div id="app"></div>
    <script src="build.js/index.js"></script>
</body>
</html>

 

WebApi源码


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
如何使用ASP.NET、ADO.NET和VisualC#.NET查询和显示Excel数据发布时间:2022-07-10
下一篇:
asp.netmvc不找其他view模板,只找cshtml发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap