使用ajax调用php脚本无法正常工作

时间:2014-08-27 12:25:41

标签: javascript php ajax

我正在尝试按照此示例执行标题所说的内容:

How can I call PHP functions by JavaScript?

但是我无法让它发挥作用。

这是javascript函数:

  <script>
function errorInProyect(err){
    if (document.getElementById("projname").value == ""){
      document.getElementById("projname_status").innerHTML =  "El nombre del proyecto no puede estar vacio";
    }
    else{
    jQuery.ajax({
        type: "POST",
        url: 'addproject.php',
        dataType: 'json',
        data: {functionname: 'prueba'},
        success: function (obj) {
              document.getElementById("projname_status").innerHTML =  "El resultado fue " + obj.result;
            }
    });
    }
}
  </script>

我的addproject.php是:

<?php 
    $res = array();
    $res['result'] = "soy la prueba";
    json_encode($res);
?>

我知道正在调用该函数,因为正在打印空字符串时的消息。我做错了什么?

2 个答案:

答案 0 :(得分:1)

您不打印json_encode的结果。

addproject.php中的代码更改为:

echo json_encode($res);

答案 1 :(得分:1)

<script>
function errorInProyect(err){
    if (document.getElementById("projname").value == ""){
      document.getElementById("projname_status").innerHTML =  "El nombre del proyecto no puede estar vacio";
    }
    else{
         $.post("addproject.php",{'functionname': 'prueba'},
                 function(data)
                   {
                      document.getElementById("projname_status").innerHTML =  "El resultado fue " + data.result;

                   },'json');

         }
}
  </script>

你的php页面是

<?php 
    $res = array();
    $res['result'] = "soy la prueba";
    echo json_encode($res);
?>