把js定义的变量传给php,js变量值传到php(先把php解析成数据)

js变量值传到php(先把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){

// 提交失败

}

});

问题:

var bid=document.fenlei.bfenlei.value;

$sql1="select * from s_type where b_id='$bid'";

//.......

?>

如上代码,如何把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,再执行其它代码下的字符串拼接

这样可以

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();

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回调函数中刷新页面方法

14008bad97a350bbd6afed6dc150a163.png

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

下面代码可以实现ajax刷新页面,然而并没有什么用

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();

js变量及其作用域(附例子及讲解)

Javascript和Java.C这些语言不同,它是一种无类型.弱检测的语言.它对变量的定义并不需要声明变量类型,我们只要通过赋值的形式,可以将各种类型的数据赋值给同一个变量   工具/原料   Ch ...

javascirpt对象运用与JS变量

abcdefghijklmnopqrstuvwyz String 对象方法 charAt() 方法可返回指定位置的字符.stringObject.charAt(index)(index从0开始)[ht ...

js变量及其作用域

Javascript和Java.C这些语言不同,它是一种无类型.弱检测的语言.它对变量的定义并不需要声明变量类型,我们只要通过赋值的形式,可以将各种类型的数据赋值给同一个变量   一.js变量的类型及 ...

JS变量和函数的一些理解

今日看了下JS变量的一些文章,有些感触,把自己总结的一些写出来. JS初始化的过程1.JS解释器执行代码之前,创建全局变量2.用预定义的值和函数来初始化全局对象中的属性,3.搜索函数外的var声明,创 ...

js变量在属性里的写法 常用mark 多个DL遍历添加一个父级DIV

标记用 js变量比如url链接一般都是a里面的href属性值 在js里单引号链接 以后再忘记就能有地方找了 例子: /* 添加1200 居中div 包裹 获取元素集合 上层元素100% * @ele ...

js 变量提升+方法提升

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值