php获取不到post方式提交的数据?
你把表单form的提交方法method从POST换成GET,你就能在URL清楚地看到每次提交的内容了,这样更方便新手理解.不过你也可以在浏览器提供的F12开发者工具的网络里查看到请求的GET/POST/请求头等信息.
PHP是HTML预处理器,浏览器首次加载test.php页面,服务器PHP其实并没有拿到用户提交的数据,也就是首次访问生成的HTML页面里的内联JS代码里的alert()是没有用户数据的,在你提交表单后才有,所以会出现你说的"页面JS总是获取到前一次请求的值".
最后再说个安全性问题,你的代码中,$_POST['one']是一个用户输出的数据,在你把用户输入的数据输出到页面上时,需要注意防御XSS注入,防御方法如下:
如果你是把用户输入的数据输出到
HTML上下文
中,应该这样:如果你是把用户输入的数据输出到
JS上下文
<script></script>中,应该这样:不过个人还是建议分离JS跟PHP,也就是PHP不要直接输出内容赋值给JS,这样JS代码可以单独放到一个JS文件里.
JS可以这样拿到传统表单提交里的数据并进行AJAX提交,以jQuery为例,将传统form表单提交轻松改造为AJAX提交:
可见HTML传统表单并不需要修改,JS代码里也没有混有PHP代码,编程逻辑就清晰多了.
jquery中post函数result.status是什麼意思?
服务器输出json对象echojson_encode(array('status'=>'1'));有值为真,执行if里面的语句【有两种接收方法result.status或result['status']】我一般这样用echojson_encode(array('status'=>'ok'));if(data.status=="ok"){alert('成功');}绝对正解
jquery中post中地址参数中有问号?
jquery中post方法中问号表示后面紧跟的是参数名,比如: $.post("queryUser.do?userId=123",funciton(data.status){ ///// }) 这句话的意思是使用post请求调用接口querylist.do,并且传参数userId的值是123。这样到后台才能完成整个接口的请求。 参数的作用是:在post请求中带着请求参数要完成特定数据的处理,比如上面例子中只查询 id为123的用户信息,如果不带此参数就是返回全部的用户信息,这个要根据业务场景来设定。
在jquery中,用 $. 和 $().有什么区别,它们的含义分别是什么?
$就是jquery对象,$()就是jQuery(),在里面可以传参数,作用就是获取元素如下例子$(".div1") 表示获取类名为div1的元素,例如获取
$(".div1").onclick表示类名为div1的div点击事件jquery中$.,例如$.post(),$.get(),$.ajax()等这些都是jquery这个对象的方法
