收藏
回答

小程序request请求后台数据正常处理,请求网址报错404,返回XML数据异常

框架类型 问题类型 操作时间 AppID
小程序 需求 2018-10-19 wx8665c8f8312445e3

- 需求的场景描述(希望解决的问题)

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

最后一次编辑于  2018-10-19
回答关注问题邀请回答
收藏

4 个回答

  • 再见,电脑崽
    再见,电脑崽
    2018-10-19

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

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


    2018-10-19
    有用 1
    回复 7
    • 2018-10-19

      那这个接口大体需要怎么排查呢?我是用来测试,要用PDO来连接数据库操作,只是用的不6。。

      2018-10-19
      回复
    • 2018-10-20

      还有就是我如果用PDO进行操作数据库,返回的数据会包含HTML标签。

      显示:

      2018-10-20
      回复
    • 再见,电脑崽
      再见,电脑崽
      2018-10-22回复

      你不用框架 就不会有html代码了。

      2018-10-22
      回复
    • 再见,电脑崽
      再见,电脑崽
      2018-10-22回复

      实在还解决不了,留下QQ我帮你

      2018-10-22
      回复
    • 2018-10-22回复再见,电脑崽

      1449083165

      可以加我啊,大哥。不过我已经解决了。我还是用了CI框架进行返还参数。

      {

      <?php

      /**查询数据**/

      defined('BASEPATH') OR exit ('No direct script access allowed');

      header('Content-Type: application/json');

      use \QCloud_WeApp_SDK\Mysql\Mysql as DB;


      class Data_querys extends CI_Controller{



      public function index() {

      $rows = DB::select('student',['*']);


      $num = count($rows);

      for($i=0;$i<$num;++$i){

      echo json_encode($rows[$i],true);

      }

      }

      }

      ?>

      }

      2018-10-22
      回复
    查看更多(2)
  • 北纬32°
    北纬32°
    2020-04-21

    看看你的后台是不是用nginx转发的?如果是的话要在接口名称后面+.do

    2020-04-21
    有用
    回复
  • 骄阳似火
    骄阳似火
    2018-10-19

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


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

    2018-10-19
    有用
    回复 1
    • 2018-10-19

      我好像没懂你的意思?还是没清楚是什么原因导致的?PHP界面是存在的,为什么还会404呢?

      2018-10-19
      回复
  • 半寸灰
    半寸灰
    2018-10-19

    是不是返回的状态 是404

    2018-10-19
    有用
    回复 9
    • 2018-10-19

      嗯,返回了查询结果与404。上面有详细截图。

      2018-10-19
      回复
    • 半寸灰
      半寸灰
      2018-10-19回复

      我的意思 是  你服务器返回  的   Status Code  是404么  


      这个 Status Code 服务器是可以指定的  

      浏览器F12  网络  看看这个 Status Code 是不是404吧


      2018-10-19
      回复
    • 骄阳似火
      骄阳似火
      2018-10-19回复半寸灰

      状态是404

      2018-10-19
      回复
    • 半寸灰
      半寸灰
      2018-10-19回复骄阳似火

      返回有数据  就是服务器问题


      2018-10-19
      回复
    • 2018-10-19回复半寸灰

      是404呀。怎么破?

      2018-10-19
      回复
    查看更多(4)
登录 后发表内容