js:ajax post与get的区别,getjson的使用

一,get方法是nodejs用来接收数据常用的方法,通过url传递

参数可以在地址看到(登陆的时候不安全),并且由于地址栏对参数长度的控制,因此get方法不能做大数据的提交

在页面发送数据

 $.get("../action/zxly.js", {nc: nc, qq: qq, em: em, zt: zt, nr: nr}, function (result) {
                        console.log(result.args);
                        if (result.args=="ok") {   //接收js返回的数据
                            alert("留言成功!")
                        }
                    })

在js中接收数据

 router.get("/action/zxly.js?",function(req,res) {

            //req.query:获取URL的查询参数串
            var par=req.query;
             res.send({"args":result}); //向页面发送数据    
})        

二,post方法通过body来获得参数需要 加载相应的模块

安装命令:

npm install body-parser

在app.js中添加相应的模块

var bodyParser = require('body-parser');//加载此模块在body中去获取参数
app.use(bodyParser.urlencoded({extended:false}));//参数方式是字符串

表单提交:

<form action="<%=basePath%>action/tedst.js"    method="post">
                   用户名:<input type="text" name="username" />
                   <br/>
                   密码:<input type="password" name="pwd"/><br/>
                        <input type="submit"  value="提交"/>
            </form>

 js接收:

如果做参数的安全提交例如用户名,或者大量的数据提交就需要用到post方法
          post方法只能表单提交,不能通过地址栏访问。

router.post("/action/tedst.js",function(req,res,next)
res.send("----post提交成功"+req.body.username+" "+ req.body.pwd); next(); })

三,getjson跨域接收请求

js中返回数据:

router.get("/action/Testgetjson",function(req,res,next){
             var m=req.query.jsoncallback;
               res.write(m+"({\"key\":\"abcdef\"})");//跨域返回的数据格式
              // res.write("{\"key\":\"abcdef\"}");    //同域返回数据的格式
              res.end();
        })

 页面中发送请求并接收返回的参数

function test(){
             $.getJSON("http://localhost:3001/action/Testgetjson?jsoncallback=?", function(data){
                   $("span").text(data.key);
             })
         }

 

转载于:https://www.cnblogs.com/dybe/p/8253805.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值