当所有参数都正确时,HTML中的Ajax函数未定义

时间:2018-05-25 05:25:48

标签: javascript php html ajax

每个人都过得愉快。所以我有这个Ajax请求,我将从另一个PHP文件中打印一个简单的echo语句。不知何故,在Ajax语句中,它显示在控制台中:

  

ReferenceError:未定义senddocu

我正在查看Ajax代码中的参数,我认为没有错误。

function senddocu(selected)
{
 $.ajax({   
    type: "POST",
    data: {staff: $(selected).val()},
    url: "localhost/htdocs/send.php",             
    dataType: "json",            
    success: function(response)
    {                    
        $("#responsecontainer").html(response); 
    }
    console.log(response);

}); 
}

这里还有小部件/ HTML代码:

<select name="staff" align="left" onchange="senddocu(this);">
    <option value="chief">Chief User</option>
    <option value="user">User 1</option>
</select>

<button type="button">Send</button></a>

我也想知道如何从选择选项获取值然后使用按钮发送,它会触发函数 senddoc 但我并不完全确定怎么做绑定。我知道 onClick()但不知道如何在这个程序中使用它。

这是我在另一个文件中创建的简单PHP打印程序。

<?php
echo "<div id='responsecontainer'>";
if($_POST["staff"]=="chief")
{ echo "Document Sent!";
}
else if($_POST["staff"]=="sir")
{ echo "You got mail!";
} 
echo "</div>";
?>

我花了好几个小时才找到问题但无济于事。如果有的话,我真的很感激任何帮助。非常感谢!

2 个答案:

答案 0 :(得分:2)

您的ajax请求中存在错误,其中您的console.log不在成功回调中。

其次,看起来$ ./bin/output_x input: 7 1 1 5 1 1 1 XXXXXXX X X XXXXX X X X 不是页面的一部分,而是来自#responsecontainer的响应。您可能应该将div移动到主页面,以便在那里设置响应。

这是更正后的AJAX电话:

send.php

答案 1 :(得分:-1)

请在您的代码中包含以下jquery文件

https://code.jquery.com/jquery-3.3.1.min.js