❶ php与JS对接的问题,有前端页面(html的)和后端页面(PHP的),JS怎么获取后台数组
大致的前后端交互可以这样实现:
首先,前端js通过ajax请求后端php,请求数据推荐json格式
后端php收到请求后,解析数据并处理
后端返回处理后结果,不推荐var_mp打印,会打印多余的无用信息,返回时json_encode()转成json格式再返回
前端js收到返回值后解析json数据即可
❷ php和js互相调用,php中有一个数组,在html有一个按钮,按钮调用js函数的时候会传一个数字参数
那就只能使用ajax了!也就是按钮触发js函数后, ajax再次异步执行一次php并返回结果而进行后续操作!
或者页面执行的时候, 直接将php数组输出js格式的json数据,也行!
比如:
<?php
$arr=array(
array('a'=>'abc'),
array('a'=>'bcds')
);
?>
<script>
vararr=<?phpechojson_encode($arr)?>;
functionmods(num){
//你自己的操作,下面只是测试而已
alert(arr[num].a);
//arr[num].a就是你要的值
}
</script>
<buttontype="botton"onClick="mods(0)">按钮</button>
❸ 如何把一个js变量传给php变量
js仅在 浏览器中运行.
php 仅在服务器端运行.
2者交互, 通常通过 http get/post 协议进行交互.
因此, 要将 js 变量传输到 php, 需通过 get/post 将参数传入.
譬如:
<script>
function test(){
var x="abc";
$.ajax("test.php?x="+x);
}
</script>
而 test.php 中, 通过 $_REQUEST["x"] 即可拿到js 请求过来的变量.
追问
感觉你的答案最符合我的需求,只是我还是碰到了问题。
test.php文件中
onchange事件触发test()函数,并将赋值。
<script>
function test(){
var x="abc";
$.ajax("test.php?x="+x);
}
test.php文件中
echo $_REQUEST["x"]并未获取到有效值。echo没有输出。
请问,这到底是什么原因。
追答
是因为 <script> 中并没有输出由 php 传回的结果.
改成这个试试看.
1
2
3
4
5
6
<script>
function test(){
var x="abc";
$.ajax("test.php?x="+x),null,function(data){alert(data)});
}
</script>
❹ php与js交互 多选删除
把下面的代码
稍微修改一下就行了
<?php
if("确认删除"){
$num=$_POST['checkbox'];
foreach($num
as
$v){
$sql="delete
from
aa
where
id
=".$v;
$aa=mysql_query($sql);
echo
"<script
language='javascript'>location.href='www..com';</script>";
}
}
?>
<input
type='checkbox'
name='checkbox[]'
value='aaa'>
<input
type='checkbox'
name='checkbox[]'
value='bbb'>
<input
type='button'
value='全选'
onClick="this.value=check('checkbox[]')">
<script>
var
checkflag
=
"false";
function
check(fieldName)
{
var
field=document.getElementsByName(fieldName);
if
(checkflag
==
"false")
{
for
(i
=
0;
i
<
field.length;
i++)
{
field[i].checked
=
true;
}
checkflag
=
"true";
return
"全选";
}else
{
for
(i
=
0;
i
<
field.length;
i++)
{
field[i].checked
=
false;
}
checkflag
=
"false";
return
"全选";
}
}
</script>
❺ JavaScript和php交互,是不是只能用ajax
不是,可以用js配合flash的as3来与php交互。比如页游里的socket通讯。
还有就是通过配合only ie的activeX控件也可以交互。
(ajax方式实际上也是一种js通过ie activeX控件与后台程序交互的方式,只是所有浏览器都支持ajax方式而已)
最后有个现在来说在国内设计界比较不流行的,通过java的applet与js配合,实现后台交互。不过国外还是有不少的。像facebook,就是一度用applet来实现它的图片上传工具。网页3D游戏也有不少。
❻ js与php参数交互
你需要的应该是xhr,你可以使用ajax,或者简化的$.post(),$.get()等,
我不知道你的url和php的处理函数、传递值的方式,我自定义了
url=test.php
php处理函数在test.php文件中,
方式是get
$.get('test.php?str=str',
function(data){
alert(data);//data就是处理函数返回的数据。
});
注意test.php接数据的代码
如果test.php文件中只有一个输出,而且就是你想要的return,那么,不需要function了,直接写处理代码,然后echo输出就可以了,当然这里指的是字符串、整型的数据类型,如果是数组的,需要借助json,你可以使用$.getjson();
返回的数组通过json_encode;编码
❼ PHP如何与JS进行交互
PHP的所有应用程序都是通过WEB服务器(如IIS或Apache)和PHP引擎程序解释执行完成的,工作过程: (1)当用户在浏览器地址中输入要访问的PHP页面文件名,然后回车就会触发这个PHP请求,并将请求传送化支持PHP的WEB服务器。 (2)WEB服务器接受这个请求,并根据其后缀进行判断如果是一个PHP请求,WEB服务器从硬盘或内存中取出用户要访问的PHP应用程序,并将其发送给PHP引擎程序。(3)PHP引擎程序(一般为PHP.exe)将会对WEB服务器传送过来的文件从头到尾进行扫描并根据命令从后台读取,处理数据,并动态地生成相应的HTML页面。 (4)PHP引擎将生成HTML页面返回给WEB服务器。WEB服务器再将HTML页面返回给客户端浏览器。 以后在PHP中需要用到相关的内容,可以非常容易的使用js技术加上PHP了。
❽ js和php在同一个文件中相互获取值的问题
你好php是服务端脚本语言,js是浏览器端脚本语言,除非使用ajax进行数据提交否则,一但服务端生成好页面传到浏览器端后就不再参与浏览器端的“运算”,所以你想在同一个页面中不重新进行请求就js和php相互获取值是不现实的。
另:
你的代码分析如下:
<script>
varlinka;
linka=window.location.href;
</script>
<?php
$ch[0]="<script>document.write(linka);</script>";
echo$ch[0]."<br/>";
<script>
到这步为止,php获得js的变量非常顺利
下面接着
<script>
vark;
k="<?phpecho$ch[0];?>";
alert(k);
</script>
其实你的整个页面都是php的,执行
$ch[0]="<script>document.write(linka);</script>";
这一句的时候,php的$ch[0]仅仅只是被赋予了"<script>document.write(linka);</script>"这个字符串,js代码并没有运行.php也并没有获得js的变量!获得的只是字符串而已.
❾ php怎样使数据转化为JSON格式与JS进行交互
$data=[];你的数据
$json=json_encode($data);
echo$json;//返回数据
js:
//发送请求获取数据
varresponse='requestresult';
vardata=eval('('+response+')');//转换为JSON对象
for(letvofdata){
//使用数据
console.log(v);
}