JS和PHP-在从JS发出信号后加载PHP数据,而不发送回发
JS and PHP - Load php data after signal from js without sending a postback
好吧,所以基本上我有一个flash登录,我使用ExternalInterface处理它来处理JS。我希望php只在用户登录时加载,如何在不发送新回发(重新加载页面)的情况下执行??
我基本上想要的是:JS在用户登录后就已经出现了。我希望它在点击后执行MySql查询,获取数据并向用户显示,而无需重新加载页面。
我知道这是AJAX,但我真的不知道该怎么做——我不熟悉php,我也不知道在JS中调用函数时如何运行php。
谨致问候,iMix
您可以使用jquery,这将是一个快速实用的解决方案。
function login(){
$.ajax({
type: "POST",
url: "your_login_script.php",
data: { username: "thatuser", password: "thatpwd" }
}).done(function( result ) {
alert(result);
});
}
您需要对另一个返回数据的php文件发出XMLHttpRequest。然后,使用JS,解析以任何格式返回的数据(我建议使用JSON),并更新HTML。
由于您只希望在用户登录时返回数据,因此您可能希望通过加密连接在post请求的正文中发送用户名/密码,然后检查php文件是否有效。
是的,您需要使用AJAX。
以下是最简单的程序概述:
- 向服务器发送在后台运行PHP脚本的请求,而无需重新加载当前网页
- PHP脚本将执行所需的查询,并将结果格式化为HTML。它不应该生成整个页面。。。只是一个DIV或一个TABLE标记,其中包含您想要的数据
- 您的Javascript将接收HTML片段并将其插入当前页面
以下是完成这项工作最简单、最重要的代码。
xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("targetDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET", "somescript.php", true);
xmlhttp.send();
如果你打算把任何东西投入公共生产,你应该阅读一些AJAX。我还强烈建议使用jQuery或其他Javascript库。他们对这类事情的抽象比你自己可能做的任何事情都要好得多。
相关文章:
- 如何使用 php 会话变量作为 Angular Js 数据
- DC.js数据表没有按应有的方式显示
- D3.JS数据映射国家名称变量
- 向Graph中的所有d3.js数据点添加唯一链接
- Vue.js 数据对象不适用于某些 lodash 函数
- 如何在 PHP var OpenWeatherMap 中获取第二行 js 数据
- 为knockout.js数据绑定加载多个远程数据源
- 将JS数据发布到页面B
- 页面加载前的Angular JS数据加载
- 如何在ajax请求周期性自动刷新时使用knockout.js数据绑定
- D3.js数据组和转换
- 在href跳转到另一个html元素之前,执行Knockout.js数据绑定:点击函数
- js数据:;none”;以及“;注入“;对于DS“;reapAction”;配置选项
- JS:数据href中指定的链接在转盘中不起作用
- 挖空 JS - 数据绑定多个值
- EXT JS : 数据存储过滤器功能不起作用
- Google Analytics(分析)在淘汰赛中推送跟踪事件.js数据绑定
- 解析 XML 到 js 数据,如何访问特定标记
- 显示带有角度 js 数据绑定表单的引导框
- JS数据类型说明