vue3 请求PHP后端,返回的是后端源代码,是什么问题?



用的vite运行vue,后端我开了环境软件,wampserver 是不是因为后端的PHP文件没有被解析???所以返回的是php的源代码???我先用的axios请求,结果是这样,后来换了XMLHttp请求还是这样,刚学vue3,卡在这了,百度了好久没找到答案,求大佬解答

阅读 1.8k
avatarAI BotBETA

这个问题可能出现的原因是PHP后端没有被正确地解析。当请求PHP后端时,如果服务器没有正确配置或处理PHP文件,那么返回的可能是PHP源代码,而不是经过解析的输出。

以下是一些可能的解决方案:

  1. 检查PHP服务器配置:确认你的PHP服务器(如Apache,Nginx等)已经正确地配置并运行。它是否能够正确处理和解析PHP文件?
  2. 检查PHP版本:确认你的PHP版本是否与你的Vue和Axios或XMLHttpRequest库兼容。
  3. 检查路由:你在前端发送请求的URL是否正确?这个URL是否映射到正确的PHP文件或路由?
  4. 检查CORS:如果你的前端和后端不在同一域,你可能会遇到CORS(跨源资源共享)问题。这可能导致请求返回源代码,而不是解析后的内容。你可以尝试在后端服务器上设置CORS头来解决这个问题。
  5. 使用正确的HTTP头:如果你希望返回的是PHP解析后的结果,而不是源代码,你需要在PHP文件中设置适当的HTTP头。例如,设置Content-Typetext/html,而不是text/plainapplication/x-php
  6. 检查你的请求代码:你的前端请求代码是否正确?你是否设置了正确的请求头和请求体?

这只是一些可能的解决方案,具体情况可能需要更多的信息和调试来确定具体的问题。如果你能提供更多的细节,例如你的请求代码、后端配置、PHP文件内容等,我可能能提供更具体的帮助。

4 个回答

wampserver开启后,会有自己的域名的,比如http://127.0.0.1:8000这种,你访问这种域名,php才能被解析

我看你代码直接访问的文件路径 /src/api/login.php,这样当然当文本给你返回了,你需要大概请求:http://127.0.0.1:8000/login.php 这样的链接

你需要把PHP作为程序启动,而不是直接使用nginx访问静态资源。

搜索一下nginx与php-fpm吧。

首先要搭建好php运行环境,比如用wampserver搭建好php环境后,能访问到你的php文件:http://localhost/xxx/login.php,正常能打印出111,说明php环境搭建成功,这时候可以用axios 或XMLHttp去请求即可。

要将你的PHP代码上传到服务器,然后通过 https://域名/xxx.php 进行请求,如果你是在本地,可以尝试下载phpstudy这个软件部署本地的开发环境运行php代码,在浏览器运行localhost/xxx.php即可。具体可以阅读:https://zhuanlan.zhihu.com/p/461677605?utm_id=0

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题