js变量值传到php过程详解 将php解析成数据

时间:2021-05-26

一、总结

一句话总结:传参数去后台,用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返回内容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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章