通过ajax不工作来调用特定的php函数

时间:2015-10-02 14:25:12

标签: javascript php html ajax

我制作了一个使用ajax请求的脚本,当用户按下index.php页面中的按钮时,此脚本基本上已激活,如:

Risorse.php

<form  method='post'>
        Name <input type='text' name='nome' id='nome'>
        Col <input type='text' name='colore' id='colore'>
        Plan <select name='planning' id='planning'><option value='p1'>p1</option></select>
        <button type='submit' id='Aggiungi'>Register</button>
</form>

这是脚本:

的index.php

<script>
  $("#Aggiungi").click(function(e){
    e.preventDefault();
    var nome = $("#nome").val();
    var colore = $("#colore").val();
    var planning = $("#planning").val();
    $.ajax({
        url: "Class/Risorse.php",
        data: "function=test", 
        /*type: "POST",
        url: "Class/Risorse.php",
        data: 
        {  
            nome: nome,
            colore: colore,
            planning: planning
        }*/
    })
    .done(function( msg ) {
        //alert("Success");

    })
        .fail(function() {
        alert('Problem');
    });
});

Risorse.php

在课程Risorse.php

我创建了test();函数

function test()
{
    echo "inserimento avvenuto con successo!";
}

更新 - 更新ajax调用哪个函数的代码:

if(isset($_GET['function'])) 
{
    if($_GET['function'] == 'test') 
    {   
        test(); //but this function isn't called and is located in the same file
    }
}

但没有任何事情发生,如果我执行注释代码,ajax工作正常。我做错了什么?

1 个答案:

答案 0 :(得分:2)

您在data电话中声明了两次$.ajax。 php测试函数是否位于Class/Risorse.php?如果是这样,你的php将不会自动进入此功能,但它将运行php文件。将test();添加到该php文件的顶部,以使其进入功能。