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
);

参考技术A $.ajax(
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参数传递问题的主要内容,如果未能解决你的问题,请参考以下文章

thinkphp 如何想模板的JS代码中传递数组?

thinkphp 获取前端传递过来的参数

thinkphp 参数传递方式(基础)

thinkphp中的函数怎么传多个参数

thinkphp3.2 include 参数为变量的情况下如何传递

thinkphp5 现在开启强制路由,想要传递多个参数,做筛选功能的传参数功能,在route.php,怎么定义路由