js变量值传到php(先把php解析成数据)

js变量值传到php(先把php解析成数据)

1、总结

一句话总结:传参数去后台,用ajax,或者原生js方式拼接url。明白原理,洞悉系统是先解析php,再执行html代码和js代码。

 

 

2、用ajax

1. 页面提交数据: ajaxphp

2. php页面获取参数: $val =   $_POST['val']html

 

参考代码(jquery):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

 

解答:

不用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,这要知道你的具体要求才行。sql

 

用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}
);
}apache

 

 

3、洞悉系统是先解析php,再执行其它代码下的字符串拼接

 这样能够json

 1 <script>
 2 
 3     function dailyTask(){  4         $('#my_daily_task_calendar').datepicker().on('changeDate.datepicker.amui', function(event) {  5             var dailyTaskDate=$(this).val();  6             var url1="{:url('task/getDailyTaskData')}";  7             var url2='?dailyTaskDate='+dailyTaskDate;  8             document.location=url1+url2;  9  }); 10  } 11  dailyTask(); 12 </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))};

 

 

4、ajax回调函数中刷新页面方法

在作demo的时候回调函数不想很麻烦,只是单纯的刷新下页面就能够用location.reload(true); 这句话至关于F5键刷新页面,这样作的方法可能会耗费必定资源,可是刷新页面仍是很方便的。函数

 

下面代码能够实现ajax刷新页面,然而并无什么用

 1 <script>
 2     function dailyTask(){  3         $('#my_daily_task_calendar').datepicker().on('changeDate.datepicker.amui', function(event) {  4             var dailyTaskDate=$(this).val();  5             $.post("task/getDailyTaskData", { dailyTaskDate:dailyTaskDate}, function () {  6  document.location.reload();  7  });  8  });  9  } 10  dailyTask(); 11 </script>
相关文章
相关标签/搜索