在网站MVC中接收Ajax响应 - javascript

因此,我现在有3个文件(一个View,由list.js和list.php组成,以及Controller,由get_data.php文件组成)。

get_data.php:

<?php
   $str_json = file_get_contents('php://input');
   $data = json_decode($str_json, true);
   $token = $data['token'];
   $request = $data['request'];
   echo "<p>" . $request . "</p>";
?>

list.js:

function getItems(list) {
  var http = new XMLHttpRequest();
  var url = "../model/get_data.php";
  var dataPost = {"token" : true, "request": list};
  var str_json = JSON.stringify(dataPost);

  http.open("POST", url, true);

  http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  http.setRequestHeader("Content-length", dataPost.length);
  http.setRequestHeader("Connection", "close");

  http.onreadystatechange = function() {
      if (http.readyState == 4 && http.status == 200) {
          document.getElementById("show").innerHTML = http.responseText;
      }
  };
  http.send(str_json);
}

window.onload = getItems("start");

list.php:

<some html code>
<body>
   <span id="show" ></span>
</body>
<some more code>

我正在尝试实现Model-View-Controller模式,但是我不知道如何将“ get_data.php”文件中的“ echo”传输到视图。

请注意,<span>文件中的list.php标记是显示更改文本的标记

参考方案

我猜您需要的只是通过require_once()将视图“包括”到控制器中,如下所示:

get_data.php:

<?php
    $str_json = file_get_contents('php://input');
    $data = json_decode($str_json, true);
    $token = $data['token'];
    $request = $data['request'];
    //echo "<p>" . $request . "</p>"; -- don't echo anything in the controller
    require_once('item.php');
?>

item.php:

<p>
  <?php echo $request ?>
</p>

require_once()将在该位置包含文件,因此您的范围不会改变。

PHP Javascript更改浏览器后退按钮行为Laravel - javascript

我知道有各种各样的线程要求几乎相同的要求,但似乎没有一个真正满足我的需求。在我的网站上,我实现了搜索表单。一个简单的表单,其中包含一个名为searchQuery的输入字段和一个提交按钮。表单通过POST方法发送。我正在使用Laravel btw。。然后将搜索结果从控制器加载到视图中。这些在表中显示。现在来了有趣的部分:找到的元素是可单击的,并且您进入有关该元…

Javascript-从当前网址中删除查询字符串 - javascript

单击提交按钮后,我需要从网址中删除查询字符串值。我可以用jQuery做到这一点吗?当前网址:siteUrl/page.php?key=value 页面提交后:siteUrl/page.php 实际上,我已经从另一个带有查询字符串的页面着陆到当前页面。我需要在页面首次加载时查询字符串值以预填充一些详细信息。但是,一旦我提交了表格,我就需要删除查询字符串值。我已…

PHP json_encode数组到javascript关联数组 - javascript

我有一些从PHP中读取的mysqli列。它正在完美地获取和回显。$results = mysqli_fetch_assoc(mysqli_query($conn, $querystring)); echo json_encode($results); //$results = {"title":"Sea Shells"…

PHP-显示特殊字符 - javascript

允许用户输入的代码段//fetch user input and pass it in URL alertify.prompt("Please enter note/remarks for this Form (optional):", function (e,value) { if (e) { alertify.success(…

Mongo汇总 - javascript

我的收藏中有以下文件{ "_id": ObjectId("54490b8104f7142f22ecc97f"), "title": "Sample1", "slug": "samplenews", "cat": …