JS调用PHP(无论GET或者POST)一般有两种方式,一是是用HTML窗口,使用GET的例子:
使用POST的例子:
form?action=abc.php?method=post?name=form1
/form
script?language=javascript
form1.submit();
/script
JS调用PHP(无论GET或者POST)的另外一种方式是是用AJAX,例子代码网上很多,我写一个最简单的:
var?xmlHttp=null;
if?(window.ActiveXObject)?xmlHttp=new?ActiveXObject('Microsoft.XMLHTTP');
else?if?(window.XMLHttpRequest)?xmlHttp=new?XMLHttpRequest();
xmlHttp.onreadystatechange=handleStateChange;
xmlHttp.open('POST','abc.php');
function?handleStateChange(){
alert(xmlHttp.responseText);
}
①.:HTML中的值如何传到JS,下面假设是文件1.php
复制代码 代码如下:
html
body
form action="1.php"
method="post"
name:input type="text"
name="username" id="username"
rename:input
type="text" name="username1" id="username1"
input
type="button" value="submit" on CliCk="get()"
/body
/html
JS假如想取文本框中用户输入的name值,这样写
script
language='JavaScript'
function get()
{
var
n=document.getElementById('username').value;
alert
(n);
}/script
这样的话在有调用JS
get()时就会弹出警示框,里面的内容就是name的值.
script language='JavaScript'
var n=document.getElementById('username').value;
document.getElementById("username1").value=n;
这样的话在下面调用get()就会自动显示你上面name输入的值.
这个我想大家都会了吧
php
$name=$_REQUEST["username"];
echo
$name;
在HTML中插入PHP语言,可以调用PHP中变量的值,也可用Smarty(推荐).
有了以上这些,不管是HTML页面里的值还是JS中变量的值,都可以轻松的传入PHP,当然,PHP的值也可传到想要的地方.
js仅在 浏览器中运行.
php 仅在服务器端运行.
所以呢, 要将 js 变量传输到 php, 需通过 get/post 将参数传入.
譬如:
function test(){
var x="abc";
$.ajax("test.php?x="+x);
而 test.php 中, 通过 $_REQUEST["x"] 即可拿到js 请求过来的变量.
追问
感觉你的答案最符合我的需求,只是我还是碰到了问题.
test.php文件中
onchange事件触发test()函数,并将赋值.
echo $_REQUEST["x"]并未获取到有效值.echo没有输出.
请问,这到底是什么原因.
追答
是因为 script 中并没有输出由 php 传回的结果.
改成这个试试看.
$.ajax("test.php?x="+x),null,function(data){alert(data)});
方法1:
input type="button" value="f1" onclick="f1()"
//方法1
function f1(){
var type = 'aaa';
window.location.href='1.php?type=' + type;
①php 中:
$type = $_GET['type'];
echo $type;
$(document).ready(function(){
var type ='aaa';
$("button").click(function(){
type: type,
},
function(data,status){
alert("数据:" + data + "\n状态:" + status);
});
button向页面发送 HTTP POST 请求,并获得返回的结果/button
$type = $_POST["type"];
不用AJAX,最简单就是传个参数过去
如:function saveGame(str){
window.location.href='url?str=' + str;
楼上的是一种跳转的方式.如果你想不刷新处理,获取数据.还是用ajax .很简单的.给你个例子.这里我我用jquery的$.post
//这里你可以处理获取的数据.我使用是json 格式.你也可以使用其它格式.或者为空,让它自己判断得了
},'json');
$.ajax({type:?"",url:?"",data:?"",?dataType:?"json",success:?function?(data)?{
//这里处理返回的结果
//type为数据提交的方式post或者get
//dataType表示数据处理后返回的数据类型?一般返回json的数据类型?使用$.each进行循环操作
//success表示数据请求成功后执行的动作
}});