小程序request请求后台数据正常处理,请求网址报错404,返回XML数据异常
发布于 6 年前 作者 wsong 2444 次浏览 来自 问答
  • 需求的场景描述(希望解决的问题)

后台查询数据库时返回到前端页面的数据异常(且会报错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问题,且页面只显示数据库中数据

3 回复

我们的数据返回是这样的,是一个数组[],

404页面是客户端在浏览网页时,服务器无法正常提供信息,或是服务器无法回应,且不知道原因所返回的页面。

服务端接口问题,我猜你用的CodeIgniter。具体要排查你PHP代码才行。

可为什么明明使用了PHP框架还要像你这样连接数据库呢,极有可能是你使用了CI的路由,但是没有按照CI的规则构建Controller页面。

是不是返回的状态 是404

回到顶部