JQUERY AJAX 调用返回 PHP 页面内容

时间:2021-01-18 21:03:03

标签: php jquery ajax

因此,我请求一个名为 uuid.php 的文件,当我通过 JQUERY AJAX 请求它时,它返回该 php 文件的内容。我已经在其他多篇 Stack Overflow 帖子中描述了该错误,但我无法为我的问题找到一个好的答案。

JQUERY 请求:

$.ajax({
      type: "POST",
      url: "uuid.php",
      datatype: "json",
      data: {"kahoot":"2020"},
      success: function(data) {
        console.log(data)
        }
    });

uuid.php

<?php
$query=$_POST['kahoot']
$url = 'https://create.kahoot.it/rest/kahoots/?query='.$query;
$contents = file_get_contents($url);
echo json_encode(array(data=>$contents));
?>

我已经在这个项目之外尝试了 PHP 代码,它运行良好。没有错误,但是当我将它放入项目时它不起作用。这是 AJAX 的错误吗?

3 个答案:

答案 0 :(得分:0)

你忘记添加了;在这一行:

$query=$_POST['kahoot']

答案 1 :(得分:0)

似乎直接访问 URL (https://create.kahoot.it/rest/kahoots/?query=kahoot) 会返回 JSON 响应,因此 json_encode 可能更需要。

这个输出看起来更好吗:

<?php
$query=$_POST['kahoot']
$url = 'https://create.kahoot.it/rest/kahoots/?query='.$query;
echo file_get_contents($url);
?>

答案 2 :(得分:0)

你的JS文件没问题, 我对您的 PHP 代码进行了一些更改:

<?php
    $query=$_POST['kahoot'];
    $url = 'https://create.kahoot.it/rest/kahoots/?query='.$query;
    $contents = file_get_contents($url);
    echo json_encode(array($contents));
?>

首先,您忘记在第一行添加 ;

我已经将最后一行更新为:

echo json_encode(array($contents)); 实例 echo json_encode(array(data=>$contents));

应该可以。