有这样一个需求,AS程序向后台php发送请求,php可以根据请求控制前端js代码的执行而不刷新当前页面么?例如:前端页面上定义了一个函数
<script type="text/javascript"> function test(){ alert("someting"); }</script>
可以用script标签请求php,php返回js代码。可参考JSONP。
可以实现,我假设你前台js的接收响应的函数是function (json){switch (json.type){case 'reload':reload(json.data);break;case 'refresh':refresh(json.data);break;case 'redirect':redirect(json.url);break;}
}
那么你后端 无非就是去包你前端定义好的 格式即可
如果是使用jQuery框架来写前台js代码,那么可以使用$.ajax,实现异步请求,就不会跳转页面,可以将你的test()的代码放在$.ajax的success字段中,作为成功响应的处理程序。若是使用原生的JS来写,道理是一样的,不过处理步骤很多,还要考虑浏览器之间的区别,比较麻烦。随便找一本JS入门书籍的看看其中的Ajax章节。
你要的效果不是很难,我暂时接触过可以解决的方法只有异步传输的Ajax了,你可以试试看。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(4)
可以用script标签请求php,php返回js代码。可参考JSONP。
可以实现,我假设你前台js的接收响应的函数是
function (json){
switch (json.type)
{
case 'reload':
reload(json.data);
break;
case 'refresh':
refresh(json.data);
break;
case 'redirect':
redirect(json.url);
break;
}
}
那么你后端 无非就是去包你前端定义好的 格式即可
如果是使用jQuery框架来写前台js代码,那么可以使用$.ajax,实现异步请求,就不会跳转页面,可以将你的test()的代码放在$.ajax的success字段中,作为成功响应的处理程序。若是使用原生的JS来写,道理是一样的,不过处理步骤很多,还要考虑浏览器之间的区别,比较麻烦。随便找一本JS入门书籍的看看其中的Ajax章节。
你要的效果不是很难,我暂时接触过可以解决的方法只有异步传输的Ajax了,你可以试试看。