ThinkPHP 中 form 表单用 get 提交会直接跳到首页,这个需要在哪里进行啥设置?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ThinkPHP 中 form 表单用 get 提交会直接跳到首页,这个需要在哪里进行啥设置?相关的知识,希望对你有一定的参考价值。
我也遇到这个问题了,刚解决,你用的是TP3.2吧,访问参数类似?s=/xxx/xxx这样吗?那是因为你的s参数被表单get提交参数覆盖了,所以没有控制器和方法就默认访问首页去了。解决的话就把s参数放在表单的隐藏域就可以了。 参考技术A 你的表单action是否有误?默认是提交到index控制器index方法,所以会回到首页。追问
action 应该是没有错的,POST 可以提交过去,只有GET 提交不过去,直接跳到首页
追答你得把代码贴出来。
追问就是一个简单的form,我还重新写了一个控制器,只继承Think\Controller 其他就只写一个form,他还是只有post 可以提交过去而 get就跳到首页,应该是Thinkphp中的哪个设置问题,后来我下载了下新的ThinkPHP,再测试就没有问题,post、get 都可以提交过去,而不会跳到其他页。
参考技术B 我也遇到这个问题了..或者说是bug吧 ..method为get.无论我action设置成什么...就是跳首页.. 参考技术C url!!!追问哥哥,别这么简单啊,我是一点都不知道这个问题该怎么解决啊。。
追答你用get方式提交,肯定有action啊,action就是你要跳转的路径目标
追问但是post 提交的话就可以,我现在是想把这个表单中的值放到URL后面,可以再写一个方法将这个参数获取到直接放到URL中再做一个header , 但是会多走一步,我就想问问有没有直接设置TP中的东西可以改掉的。
追答可以啊,写一个方法。
追问我现在是写了一个方法,然后header 我现在是想了解一下ThinkPHP 是否有这个设置,在哪里设置这个?
追答这个我就不听清楚了兄弟,抱歉
html中post必须要用form表单,而get就可以不用form表单就可以提交了吗?
当然不是的,post可以使用表单提交数据也可以使用ajax提交数据,get方法也是一样的,只不过get方法是通过url传值,可以在url后面直接加参数实现get方法提交数据的。
工具原料:编辑器、浏览器
1、get或者post都是可以通过form表单提交数据的,代码如下
<form action="form_action.asp" method="get"><p>First name: <input type="text" name="fname" /></p>
<p>Last name: <input type="text" name="lname" /></p>
<input type="submit" value="Submit" />
</form>
以上的method属性就是可以填写get或者post方法
2、get或者post也都是可以通过ajax提交的,代码如下:
$.ajax(type:"get",
url:"",
async:true
);
ajax中的type可以自定义get或者post方法进行传值。
当然不是,post可以使用表单提交数据,也可以使用Ajax提交数据,get方法是一样的,只是get方法是通过URL值传递的,可以直接在URL后添加参数来获取提交数据的方法。
超文本标记语言(HTML)的结构包括 “头”部分(英语:Head)、和“主体”部分(英语:Body),其中“头”部提供关于网页的信息,“主体”部分提供网页的 具体内容。
超级文本标记语言是 标准通用标记语言下的一个应用,也是一种规范,一种准,它通过标记符号来标记要显示的网页中的各个部分。网页文件本身是一种文本文件,通过在文本文件中添加标记符,可以告诉 浏览器如何显示其中的内容。
主要特点如下:
1、简易性:超级文本标记语言 版本升级采用 超集方式,从而更加灵活方便。
2、可扩展性:超级文本标记语言的广泛应用带来了加强功能,增加 标识符等要求,超级文本标记语言采取子类元素的方式,为系统扩展带来保证。
3、平台无关性:虽然 个人计算机大行其道,但使用 MAC等其他机器的大有人在,超级文本标记语言可以使用在广泛的平台上,这也是 万维网( WWW)盛行的另一个原因。
4、通用性:另外, HTML是网络的通用语言,一种简单、通用的全置标记语言。它允许网页制作人建立文本与图片相结合的复杂页面,这些页面可以被网上任何其他人浏览到,无论使用的是什么类型的电脑或浏览器。
form的提交方式分为post和get,这两者的区别总结如下:
Post:把数据通过表单提交过去,action中如果带有参数也能在处理页面通过request.get取得action后的参数值,通过request.form取得表单中的值
Get:把表单中的数据放到浏览器链接中一并传递过去,如果之前在action中已经加有参数,则参数被替换为表单中的数据,原参数清除. 参考技术C 传统意义上讲:是的
但由于ajax和jquery的出现,post和get都可以不一定要写form了
用jquery的$.get(),$.post() 就可以本回答被提问者和网友采纳 参考技术D html里边,get获取的值可以放到 url地址后边的参数
以上是关于ThinkPHP 中 form 表单用 get 提交会直接跳到首页,这个需要在哪里进行啥设置?的主要内容,如果未能解决你的问题,请参考以下文章