javascript - 将 PHP 值显示到不刷新的页面

标签 javascript php jquery ajax

我想知道是否可以通过 PHP 修改不刷新的页面(我正在使用 Ajax)。

这听起来像是一个愚蠢的问题,而且我 99.999999% 确信这是不可能的。我能想到的唯一方法是输出一个包含值的数组并使用 javascript 修改页面。

我需要返回多个东西,这就是为什么我不想使用javascript并与ajax通信,但我认为数组是唯一的选择。

if(isset($_FILES['payload'])) {
$file = $_FILES['payload'];
try {
$file['name'] = htmlentities($file['name']);
  $name = $file['name'];
$extension = pathinfo($name, PATHINFO_EXTENSION);
$finfo = new finfo;
$fileinfo = htmlentities($finfo->file(htmlentities($file['tmp_name']), FILEINFO_MIME));
} catch (Exception $e) {
    echo "NULL NAME";
}
  if($extension == 'exe' && (substr($fileinfo, 0, 15) == 'application/exe' || substr($fileinfo, 0, 21) == 'application/x-dosexec')) {
try {
  /*
   * Encryption Removed
   */
  mkdir("REMOVED");
  move_uploaded_file($file['tmp_name'], "REMOVED");
  $td[0] = filesize("REMOVED");
  $td[1] = htmlentities($file['name']);
  $td[2] = $fileinfo;
  echo "NULL NULL";
} catch(Exception $e2) {
  echo "NULL ENCRYPTION";
}
} else echo "NULL FILESTATUS";

以上是我目前所拥有的,对于格式不当,我深表歉意。 $td 是包含有关文件的信息的数组 - 这是我需要返回到 javascrpt 的信息,但我还需要返回另一个变量,它是 NULL FILESTATUS、NULL ENCRYPTION、NULL NAME 或 NULL NULL。

感谢任何帮助。

最佳答案

是的,数组是你最好的选择。尽管如此,还是采用 JSON 编码。

$ret = array();
$ret['status'] = true/false;

然后将您的 echo 语句更改为 message

$ret['message'] = 'NULL NAME';
$ret['message'] = 'NULL FILESTATUS';
$ret['message'] = 'NULL NULL ENCRYPTION';
$ret['message'] = 'NULL NULL';

然后将文件信息添加为子数组。

$ret['file'][0] = filesize("REMOVED");
$ret['file'][1] = htmlentities($file['name']);
$ret['file'][2] = $fileinfo;

最后,将编码为 JSON 的数组返回到您的 JavaScript。

echo json_encode($ret);

那么你的ajax函数应该是这样的:

$.ajax({
    type: 'GET/POST',
    url: 'path/to/my/script.ext',
    dataType:'json',
    success: function(response){
        if(response.status == true){
            //handle the rest of the returned array
        }
    }
});

关于javascript - 将 PHP 值显示到不刷新的页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25510738/

相关文章:

javascript - 路径元素的命名约定

javascript - 使用 Promise 时 OAuth 流程不工作

php - Steam Web API 获取徽章图像 URL

PHP 类引用 PDO 对象

c# - 在 MVC 4 的部分 View 中使用 PagedList 在导航 'paged' 页面时抛出 jQuery/JS

javascript - 使用 javascript 模块模式的 jQuery 变量范围

javascript - 将 <link rel ="stylesheet"> 原始内容加载到 &lt;style&gt; 标签中

php - 根据Javascript结果删除数据库行

Javascript//设置margin-top为网站高度的负一半

javascript - 提示输入字段的右下角应该是响应式的