十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
现在在前端获取后台数据的主流方式是使用Ajax异步载入0。前端页面通过Ajax向后台请求数据,后台在放回给前端页面如果你有前端js基础和后台动态页面基础的话只需要学习Ajax就可以,个把小时就能学会用了。初学的话你要先了解下B/S架构的原理,虽然简单,但是很重要,这个原理贯穿在整个动态网站的设计制作之中。具体学习的话你可以上W3school网站上学,上面相关的web设计制作资料都比较全,也浅显易懂。建议学习的顺序为HTML-》CSS-》Javascript-》XML-》PHP(或asp或.Net)。
创新互联公司长期为上千多家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为博乐企业提供专业的成都做网站、成都网站建设、成都外贸网站建设,博乐网站改版等技术服务。拥有10年丰富建站经验和众多成功案例,为您定制开发。
希望对你有帮助。
大致的前后端交互可以这样实现:
首先,前端js通过ajax请求后端php,请求数据推荐json格式
后端php收到请求后,解析数据并处理
后端返回处理后结果,不推荐var_dump打印,会打印多余的无用信息,返回时json_encode()转成json格式再返回
前端js收到返回值后解析json数据即可
vue在服务端部署时,我们都知道通过npm run build 指令打包好的dist文件,通过http指定是可以直接浏览的,Thinkphp通过域名指向index.php文件才可以浏览。要使前端正常调用后端数据,有两种方法:1、前端跨域调用后端数据,2、前端打包文件部署在后端的服务器文件夹下(同域)。
web服务器: apache
一、跨域
在服务器配置站点:
在路径/home/www/ 下创建test项目文件夹,用来放项目文件。
找到httpd-vhosts.conf文件配置站点
前端站点:
ServerName test.test.com
DocumentRoot "/home/www/test/dist"
DirectoryIndex index.html
后端站点:
ServerName test.testphp.com
DocumentRoot "/home/www/test/php"
DirectoryIndex index.php
将前端打包好的dist文件放在/home/www/test/ 文件夹下,运行可浏览,当路径改变时,刷新会出现404错误。此时dist文件下创建一个.htaccess文件,当路径不存在时,路径指向能解决此问题。
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
在/home/www/test文件夹下创建项目根目录php文件夹,将thinkphp文件放在php下。TP5的入口文件在public文件下,在这将public下的入口文件index.php挪到php文件夹下(个人习惯将入口文件放在项目根目录), 后端绑定Index模块。
前端调用后端接口,存在跨域,跨域解决方法有好几种,在这我将在后端php做配置,解决跨域问题,在公用控制器设置跨域配置:
class Common extends Controller
{
public $param;
// 设置跨域访问
public function _initialize()
{
parent::_initialize();
isset($_SERVER['HTTP_ORIGIN']) ? header('Access-Control-Allow-Origin: '.$_SERVER['HTTP_ORIGIN']) : '';
header('Access-Control-Allow-Credentials: true');
header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS');
header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, authKey, sessionId");
$param = Request::instance()-param();
$this-param = $param;
}
}
前端调用登录接口: this.axios.post('', {user: '', password: ''})。
(可在webpack.base.conf.js文件下可定义接口:)
二、同域
后端配置同上,公共配置器中的header配置注释。将前端的dist文件下的所有文件(包含.htaccess),放在php文件夹下。将后端index控制器的index方法的路径重定向php下的index.html文件:
namespace app\index\controller;
use think\Controller;
class Index extends Controller
{
public function index() {
$this-redirect('/index.html');
}
}
前端调用登录接口: this.axios.post('/index.php/base/login', {user: '', password: ''})
转自:
方法如下
1、把$user的值赋值给全局数组。
2、header("Location: index.html"); 在这个代码传参数到index.html页面,index页面改成index.php
php代码可以写在html代码中的任意部分,只要带上? ? 界定标签就好了和平时写php没有任何区别。
但是需要注意的一点是,这个文件的后缀名要是 .php 的,所以更准确的说法应该是html写在了PHP文件中,这并不影响我们同时使用这两种语言 。
实例
?php
//连接数据库
$link = mysql_connect("localhost", "username", "password")
or die("Could not connect: " . mysql_error());
print ("Connected successfully");
//选择数据库
mysql_select_db('dbname', $link) or die ('Can\'t use db : ' . mysql_error());
//进行你想要的操作
$a =123;
?
html xmlns=""
head
meta http-equiv="Content-Type" content="text/html; charset=utf-8" /
title发现I Do一刻/title
link href="css/public.css" rel="stylesheet" type="text/css"
script src="Scripts/AC_RunActiveContent.js" type="text/javascript"/script
/head
body
?php
echo $a;
?
/body
/html
用echo 直接输出到 页面上就好了
扩展资料
集成开发环境是一种集成了软件开发过程中所需主要工具的集成开发环境,其功能包括但不仅限于代码高亮、代码补全、调试、构建、版本控制等。一些常见的PHP IDEs如下:
1、Zend Studio:商业版,Zend官方出品,基于eclipse
2、Eclipse with PDT:免费
3、Coda:商业版,针对Mac用户
4、NetBeans:免费,功能强大
5、PHP Storm:商业版
6、Aptana Studio:免费
7、PhpEd:商业版
8、Komodo IDE/Edit:IDE为商业版,Edit可免费使用
9、Adobe Dreamweaver:商业版
除去集成开发环境,具备代码高亮功能的常见文本编辑器因其轻巧灵活也常被选作开发工具,例如:Notepad++、Editplus、SublimeText、Everedit(国人开发)等等。
参考资料:百度百科 PHP的开放工具