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

Javascript 当所有参数都正确时,HTML中未定义Ajax函数,javascript,php,html,ajax,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.

大家好。所以我有一个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>
我还想知道如何从select选项中获取的值,然后使用Send按钮,它将触发函数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>";
?>

我已经花了好几个小时寻找这个问题,但毫无结果。如果有任何帮助,我将非常感激。非常感谢

您的ajax请求中有一个错误,您的console.log在成功回调之外

其次,看起来responsecontainer不是页面的一部分,而是来自send.php的响应。您可能应该将div移动到主页面,以便在那里设置响应

下面是正确的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);
    }
  }); 
}

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


我猜这不是全球性的。改为使用Javascript正确连接处理程序,您就可以解决问题,另外还可以避免全局污染。函数中的语法错误应该会在控制台中给您带来一个早期错误~Uncaught SyntaxError:Unexpected identifier我可以问您是否可以用更具体的方式告诉我哪里出了错?我仍在学习诀窍代码最终作出响应。虽然打印语句不起作用,但您所说的打印语句是什么意思?它是send.php的一部分吗?是的。我会把它们打印到另一个网页上,这样我就能知道它是否连接到senddoc函数。现在,我查看了控制台日志,它正在向send.php.Hmm发送0B数据,您应该从send.php获取一些数据。你知道send.php是否正常工作吗?另外,url看起来有点奇怪。也许可以试试url://localhost/htdocs/send.php?