首页 > web前端 > js教程 > 正文

如何把js变量值传到php

不言
发布: 2018-07-14 11:39:07
原创
18846人浏览过

这篇文章主要介绍了关于如何把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????

立即学习PHP免费学习笔记(深入)”;

解答:

不用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>
登录后复制

 

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

 js调用php和php调用js的方法小结

 对node.js的调试方法的简单分析

以上就是如何把js变量值传到php的详细内容,更多请关注php中文网其它相关文章!

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号