thinkphp js参数传递问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp js参数传递问题相关的知识,希望对你有一定的参考价值。
function admin_role_edit(title,url,id,w,h)
layer_show(title,url,w,h);
上面的这段已经获得到id字段了,下面是调用的JS,但是我不知道怎么传递到新窗口给后台接收。我用的是thinkphp这里我要实现的是一个内容的编辑,通过ID去获取数据库内容然后呈现在新窗体中。
function layer_show(title,url,w,h,id)
if (title == null || title == '') title=false;;
if (url == null || url == '') url="404.html";;
if (w == null || w == '') w=800;;
if (h == null || h == '') h=($(window).height() - 50);;
layer.open(
type: 2,
area: [w+'px', h +'px'],
fix: false, //不固定
maxmin: true,
shade:0.4,
title: title,
content: url
);
type:'post',
url:'/flow.php?step=drop_goods',
data:'id='+rec_id,
dataType:'json',
success:function(result)
,
);
看能不能类似这样传追问
上面的代码嵌套在
function admin_role_edit(title,url,id,w,h)
layer_show(title,url,w,h);
你的代码,然后把url地址和id的参数修改是么?
控制器方法直接用大I方法接收?
差不多,然后到你的php页面$_POST接收一下看看传过来没有
追问接收不到数据。我试了很多遍了。 dump($_POST);也没有数据。
我是这样写的,URL这样写对么?我用大U方法传也不行。
$.ajax(
async:true,
cache:true,
type:'POST',
url:'__URL__/roleup/?id='+id,
success:function(result)
,
);
URL不对啊,url:"/flow.php";这样就可以了,后面带参数可以加上?参数,最好要传递的参数写在data里面,看我那里的
thinkphp 参数传递方式(基础)
我今天下午主要学习了thinkphp5.0的路由部分,我下面总结一下我主要学习到的知识点:
路由定义:
有两种方式:
(1).动态注册:
eg:
Route::rule(‘hello‘,‘index/index/hello‘,‘GET‘);
(2)配置式:
eg:
return [
‘__pattern__‘ => [
‘name‘ => ‘\w+‘,
],
‘[hello]‘ => [
‘:id‘ => [‘index/hello‘, [‘method‘ => ‘get‘], [‘id‘ => ‘\d+‘]],
‘:name‘ => [‘index/hello‘, [‘method‘ => ‘post‘]],
],
];
请求类型:
类型 | 描述 |
---|---|
GET | GET请求 |
POST | POST请求 |
PUT | PUT请求 |
DELETE | DELETE请求 |
* | 任何请求类型 |
eg:
Route::get(‘new/:id‘,‘News/read‘); // 定义GET请求路由规则
Route::post(‘new/:id‘,‘News/update‘); // 定义POST请求路由规则
Route::put(‘new/:id‘,‘News/update‘); // 定义PUT请求路由规则
Route::delete(‘new/:id‘,‘News/delete‘); // 定义DELETE请求路由规则
Route::any(‘new/:id‘,‘News/read‘); // 所有请求都支持的路由规则
获取参数的方法 [三种 ]:
1).方法内变量的对应
public function hello($id,$name)
{
echo $id;
echo $name;
}
2).Request对象
Requeset::instance=>param();//获取所有参数[ 结果类型数组],不分请求类型;
Requeset::instance=>param(‘name‘);//获取单个参数[即:直接填写变量名即可];
Requeset::instance=>get();//获取?后面的参数;
Requeset::instance=>route();//获取路由里面的参数;
Requeset::instance=>post();//获取post请求参数
eg:
public function hello()
{
$res=Request::instance()->param();
var_dump($res);
}
依赖注入方式
public function hello(Request $request)
{
$res=$request->param();
var_dump($res);
}
3).使用input助手函数
input(‘param‘); //获取所有结果数组
input(‘param.name‘); //获取name
input(‘get.name‘); //获取post方式
input(‘get.name‘); //获取get方式
以上是关于thinkphp js参数传递问题的主要内容,如果未能解决你的问题,请参考以下文章