对于想了解ajax传递参数与controller接收参数映射关系的读者,本文将是一篇不可错过的文章,我们将详细介绍ajax传参到controller,并且为您提供关于ajax+php+Controll
对于想了解ajax传递参数与controller接收参数映射关系的读者,本文将是一篇不可错过的文章,我们将详细介绍ajax传参到controller,并且为您提供关于ajax + php + Controller 控制所有后台函数调用,ajaxcontroller、ajax 带参数请求后 在controller中获取参数、ajax传递参数中文乱码问题、ASP.NET jquery ajax传递参数的实例的有价值信息。
本文目录一览:- ajax传递参数与controller接收参数映射关系(ajax传参到controller)
- ajax + php + Controller 控制所有后台函数调用,ajaxcontroller
- ajax 带参数请求后 在controller中获取参数
- ajax传递参数中文乱码问题
- ASP.NET jquery ajax传递参数的实例
ajax传递参数与controller接收参数映射关系(ajax传参到controller)
将ajax的参数传递至后台controller时,data 中的参数名要与controller中的形参保持一致。
前端ajax代码:
1 $.ajax({ 2 url:"/doLogin", 3 type:"post", 4 data:{ 5 "username":$("#username").val(); 6 "password":$("#password").val(), 7 "code":$("#code").val() 8 }, 9 success:function(){} 10 });
后台controller代码:
@RequestMapping("/doLogin") @ResponseBody public Map<String,Object> doLogin(String username,String password,String code){ // 省略代码 .... }
这样做就能将前端传来的数据 一 一对应到controller 的形参中去。
而如果想前端数据的参数名和后台controller 形参不一致,可以使用@RequestParam 注解将自己的形参与前端数据的参数名映射起来。
后台controller代码:
@RequestMapping("/doLogin") @ResponseBody public Map<String,Object> doLogin(@RequestParam(value = "username")String users,String code){ // 省略代码 .... }
注:前端的data 数据的顺序可以不和后台controller 的形参顺序一致。
ajax + php + Controller 控制所有后台函数调用,ajaxcontroller
ajax + php + controller 控制所有后台函数调用,ajaxcontroller
好久没有来这边发布代码了
总共分成3大部分来完成php的ajax调用逻辑,以下是大致的结构
第一部分:ajax请求:主要是action这个参数,LoginController是php的类名,login是LoginController这个类中的函数名
$(''#submit'').on(''click'', <span>function</span><span> (e) { e.stopPropagation(); $.ajax({ url: </span>"../../controllers/Controller.php"<span>, data: { action: </span>"LoginController/login"<span>, username: username, password: password }, dataType: </span>"text"<span>, type: </span>''POST''<span>, timeout: </span>10000<span>, error: </span><span>function</span><span> () { alert(</span>"服务器超时"<span>); }, success: </span><span>function</span><span> (data) { alert(data); } }); });</span>
第二部分:Controller.php,这个文件是调用其他具体的功能类的控制器,起到枢纽作用,主要是通过反射来实现
立即学习“PHP免费学习笔记(深入)”;
<?<span>php </span><span>if</span> (!<span>empty</span>(<span>$_REQUEST</span>[''action''<span>])) { </span><span>try</span><span> { </span><span>$action</span> = <span>explode</span>(''/'', <span>$_REQUEST</span>[''action''<span>]); </span><span>$class_name</span> = <span>$action</span>[0<span>]; </span><span>$method_name</span> = <span>$action</span>[1<span>]; </span><span>require</span> <span>$class_name</span> . ''.php''<span>; </span><span>$class</span> = <span>new</span> ReflectionClass(<span>$class_name</span><span>); </span><span>if</span> (<span>class_exists</span>(<span>$class_name</span><span>)) { </span><span>if</span> (<span>$class</span>->hasMethod(<span>$method_name</span><span>)) { </span><span>$func</span> = <span>$class</span>->getmethod(<span>$method_name</span><span>); </span><span>$instance</span> = <span>$class</span>-><span>newInstance(); </span><span>$func</span>->invokeArgs(<span>$instance</span>, <span>array</span>(<span>$_REQUEST</span><span>)); </span><span>$result</span> = <span>$instance</span>-><span>getResult(); </span><span>echo</span> <span>$result</span><span>; } } } </span><span>catch</span> (<span>Exception</span> <span>$exc</span><span>) { </span><span>echo</span> <span>$exc</span>-><span>getTraceAsString(); } } </span>?>
第三部分:LoginController.php,这个文件是具体的功能类
<?<span>php </span><span>class</span><span> LoginController { <br /> <span>private </span>$result;<br /> </span><span>function</span><span> LoginController() { </span><span>//</span><span>初始化数据库连接等参数</span> <span> } </span><span>function</span> login(<span>$args</span><span>) { </span><span>//</span><span>具体的登录逻辑</span> <span> } </span><span>function</span><span> getResult() { </span><span>return</span> <span>$this</span>-><span>result; } } </span>?>
ajax 带参数请求后 在controller中获取参数
@JFinal 我使用Ajax方式请求后在Controller中获取不到相应的参数信息 代码如下 谢谢指点!
function addTest(){
var name = $("input[name=testModel.name]").val();
var age = $("input[name=testModel.age]").val();
$.ajax({
type: "POST",
url: "addTest",
data: {name:name,age:age},
dataType: "json",
success: function(data){
if(data.success){
window.location.href="play";
}else{
alert("保存数据出错!");
}
}
});
}
@ActionKey("/addTest")
public void addTest(){
HashMap<String,Object> resultMap = new HashMap<String,Object>();
try{
TestModel testModel = getModel(TestModel.class);
boolean flag = testModel.save();
if(flag){
resultMap.put("success", true);
}else{
resultMap.put("success", false);
}
}catch(Exception e){
resultMap.put("success", false);
}
renderJson(resultMap);
}
ajax传递参数中文乱码问题
总结
以上是小编为你收集整理的ajax传递参数中文乱码问题全部内容。
如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。
ASP.NET jquery ajax传递参数的实例
第一种:GET传递
前台 ajax GET 传递 :即在请求的地址后面加上参数,URL地址长度有显示,安全性低
后台接收:Request.QueryString[“参数名字”]!
例如:
第二种:POST传递
2.1 字符串 作为参数传递
即传递的参数是以字符串的形式传递。dataType=”text”;
前台 ajax POST 传递 :将表单数据提交服务器的一种请求,要提交的数据位于信息头后面的实体中。
后台接收:Request.Form[“参数名字”]
例如:
后台接收:
2.2 JSON 作为参数传递
即传递的参数是以json字符串的形式传递。dataType=”json”;
前台 ajax POST 传递 :将表单数据提交服务器的一种请求,要提交的数据位于信息头后面的实体中。
后台接收:
例如:
后台接收:
读取后newtonsoft 做 JSON处理
2.3 JSON 作为参数传递
如果按照2.2post。则必须加上: contentType: "application/json"
后台接收:
以上就是小编为大家带来的ASP.NET jquery ajax传递参数的实例全部内容了,希望大家多多支持小编~
关于ajax传递参数与controller接收参数映射关系和ajax传参到controller的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于ajax + php + Controller 控制所有后台函数调用,ajaxcontroller、ajax 带参数请求后 在controller中获取参数、ajax传递参数中文乱码问题、ASP.NET jquery ajax传递参数的实例的相关信息,请在本站寻找。
本文标签: