使用ajax运行php文件并在页面上输出php

时间:2016-10-27 13:34:41

标签: javascript php jquery ajax

我正在尝试使用ajax运行PHP文件,并将PHP文件的文本输出发送到我的容器中。我查看了多个示例,但仍未从ListTranslations.php文件中获取任何内容。

对应该发生的事情的简短解释:

在index.php文件中,我运行数据库中找到的所有语言的列表,并使用特定语言填充onClick函数。单击时,ajax函数应运行我的ListTranslations.php文件,并输出为特定语言找到的所有翻译的列表。

这是调用ajax函数的index.php:

foreach($languages as $language){
  echo '<a href="index.php?id='. $language . '"target="_self" onclick="sendLanguage(\'' .$language. '\')">' . $language . '</a>' .  ': ' . count($language) . "<br>";
}

ajax功能:(我有一个内容div设置)

function sendLanguage(tongue) {
   jQuery.ajax({
   url: "ListTranslations.php",
   method: 'GET',
   data: {language: tongue},
   contentType: 'application/json; charset=utf-8',
   dataType: 'json'
  }).done(function(r){
     $('#content').html(response);
  }).fail(function(e){
     console.log(e);
  });
}

ListTranslations.php文件:

 if($_GET["tongue"]) {
    $aPoem = $poems->find(array('language'=>($_GET["tongue"])));
    foreach($aPoem as $poem) {
        echo '<a href="testi.php?id=' . $poem["_id"] . '" target="_self">' . $poem["title"] .'</a><br>';
    }
}

我不知道我做错了什么以及为什么它不起作用所以任何帮助都非常感谢!

1 个答案:

答案 0 :(得分:0)

首先,声明您的div是否为类或id内容:

$(".content");
$("#content");

此外,您的函数参数未在整个结构中使用,并且您只使用'tongue'字符串;传递变量,摆脱''喜欢:

data: { language: tongue }

此外,使用已弃用的 jQuery方法的任何特殊原因?如果没有,你应该使用这个结构:

function findDifferentNameThanAjax(tongue) {
  $.ajax({
    url: "ListTranslations.php",
    method: 'GET',
    data: {language: tongue},
    contentType: 'application/json; charset=utf-8', 
    dataType: 'json'
  }).done(function(r){
    $('#content').html(response);
  }).fail(function(e){
    console.log(e);
  });
}

另外,请确保您的ajax网址是否正确。