- 需求的场景描述(希望解决的问题)
后台查询数据库时返回到前端页面的数据异常(且会报错404就是你
request
的地址404),在浏览器中PHP查询数据显示正常,也会报错404.
前端WXML
``
<!--pages/demo/demo.wxml-->
<view class="list">
<view class="list-item" bindtap="testCgi">
<text>测试</text>
</view>
<view class="list-item" wx:if="{{requestResult}}">
<text class="request-text">{{'请求结果:' + requestResult}}</text>
</view>
</view>
``
前端JS:
``
// pages/demo/demo.js
var qcloud = require('../../vendor/wafer2-client-sdk/index')
var config = require('../../config')
var util = require('../../utils/util.js')
Page({
data: {
requestResult: ''
},
testCgi: function () {
var that = this;
wx.request({
url: `${config.service.host}/weapp/data_query`,//此处填写你后台请求地址
method: 'POST',
header: {
'content-type': 'application/x-www-form-urlencoded' // 改变默认值为这个配置
},
// dataType: 'json', // 添加这个配置
data: {},
success: function (res) {
// success
console.log(res.data);//打印请求返回的结果
console.log("===================");
that.setData({ requestResult: res.data })
},
fail: function (res) {
// fail
},
complete: function (res) {
// complete
}
})
}
})
``
后端PHP
``
<?php
/**查询单行数据**/
//$name=$_GET["name"];//接收参数
$hostname_conn = "localhost";
$database_conn = "";//数据库名
$username_conn = "";//用户名
$password_conn = "";//自己数据库的密码
//连接MYSQL数据库
$conn = mysqli_connect($hostname_conn, $username_conn, $password_conn,$database_conn)or trigger_error(mysqli_error(),E_USER_ERROR);
// $insert = "INSERT INTO `student` (`ID`, `name`, `sex`, `age`) VALUES ('5', 'qqqqq', '1', '11')";
// mysqli_query($conn,$insert);
$sql = "SELECT *FROM student";
mysqli_query($conn, "set names 'utf8'");//不写这句有可能乱码
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result)) {
echo json_encode($row,JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT);//将请求结果转换为json格式
}
}
``
WXML显示
控制台报错:
浏览器页面显示:
- 希望提供的能力
希望能解决404问题,且页面只显示数据库中数据

看看你的后台是不是用nginx转发的?如果是的话要在接口名称后面+.do
404页面是客户端在浏览网页时,服务器无法正常提供信息,或是服务器无法回应,且不知道原因所返回的页面。
我好像没懂你的意思?还是没清楚是什么原因导致的?PHP界面是存在的,为什么还会404呢?
是不是返回的状态 是404
嗯,返回了查询结果与404。上面有详细截图。
我的意思 是 你服务器返回 的 Status Code 是404么
这个 Status Code 服务器是可以指定的
浏览器F12 网络 看看这个 Status Code 是不是404吧
返回有数据 就是服务器问题