您好,登录后才能下订单哦!
这篇文章主要介绍js中如何将php解析成数据,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
一、总结
一句话总结:传参数去后台,用ajax,或者原生js方式拼接url。明白原理,洞悉系统是先解析php,再执行html代码和js代码。
二、用ajax
1. 页面提交数据: ajax
2. php页面获取参数: $val = $_POST['val']
参考代码(jquery):
$.ajax({ type: 'POST', url: 'save.php', data: {val: text1obj.value} success: function(msg){ // msg: php返回内容 /* alert(修改成功); */ window.location = window.location; }, error:function(msg){ // 提交失败 } });
问题:
<SCRIPT LANGUAGE="JavaScript"> var bid=document.fenlei.bfenlei.value; <?php $sql1="select * from s_type where b_id='$bid'"; //....... ?> </SCRIPT>
如上代码,如何把document来的bid值传递到下面PHP语句的bid????
解答:
不用AJAX,最简单就是传个参数过去
如:
function saveGame(str){ window.location.href='url?str=' + str; }
楼上的是一种跳转的方式。如果你想不刷新处理,获取数据。还是用ajax 。很简单的。给你个例子。
这里我我用jquery的$.post
$.post(URL,{参数1:alue,参数2:value2},function(data){ //这里你可以处理获取的数据。我使用是json 格式。你也可以使用其它格式。或者为空,让它自己判断得了 },'json');
一个是服务器端的,一个是客户端的。
当然不行。
我不明白你为什么要用js来传值。
你直接用url参数像这样: test.php?bid=1 不行吗?
用js来实现比较麻烦,因为你打开网页是先执行php后执行js的。也就是说不管你js放在哪都是执行完了php再执行js。
如果你硬是要用js向php传值这种方式的话那就要用到ajax,这要知道你的具体要求才行。
用AJAX 发送到后台
proytype方法:
function changeshow() { var bid=document.fenlei.bfenlei.value; var url = 'adm_mod_ajax.php'; var pars = 'mtype=1&mid=' + mid+'&bid='+bid; var myAjax = new Ajax.Request( url, {method: 'post', parameters: pars, onComplete: showResponse} ); }
三、洞悉系统是先解析php,再执行其它代码下的字符串拼接
这样可以
<script> function dailyTask(){ $('#my_daily_task_calendar').datepicker().on('changeDate.datepicker.amui', function(event) { var dailyTaskDate=$(this).val(); var url1="{:url('task/getDailyTaskData')}"; var url2='?dailyTaskDate='+dailyTaskDate; document.location=url1+url2; }); } dailyTask(); </script>
apache服务器在页面载入的时候会先翻译 7 var url2='?dailyTaskDate='+dailyTaskDate; 这句话。把php翻译完了就交给浏览器。
这样不行,因为php咸鱼js执行,所以js中的dailyTaskDate变量会找不到,所以php中报常量错误。
var dailyTaskDate=$(this).val(); document.location={:url('task/getDailyTaskData',array('dailyTaskDate'=>dailyTaskDate))};
四、ajax回调函数中刷新页面方法
在做demo的时候回调函数不想很麻烦,只是单纯的刷新下页面就可以用location.reload(true); 这句话相当于F5键刷新页面,这样做的方法可能会耗费一定资源,但是刷新页面还是很方便的。
下面代码可以实现ajax刷新页面,然而并没有什么用
<script> function dailyTask(){ $('#my_daily_task_calendar').datepicker().on('changeDate.datepicker.amui', function(event) { var dailyTaskDate=$(this).val(); $.post("task/getDailyTaskData", { dailyTaskDate:dailyTaskDate}, function () { document.location.reload(); }); }); } dailyTask(); </script>
以上是“js中如何将php解析成数据”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。