Javascript 在同一页面上调用ajax
我试图在没有单击事件的情况下在同一页面上调用ajax,出现以下错误: 注意:未定义的index:name在index.php的第行 它与click事件配合良好。我正在努力做到这一点,没有任何事件。我的目标是将JavaScript变量传递给PHPJavascript 在同一页面上调用ajax,javascript,php,html,ajax,Javascript,Php,Html,Ajax,我试图在没有单击事件的情况下在同一页面上调用ajax,出现以下错误: 注意:未定义的index:name在index.php的第行 它与click事件配合良好。我正在努力做到这一点,没有任何事件。我的目标是将JavaScript变量传递给PHP <script> $(document).ready(function(){ alert('est123'); $.ajax({ type: 'POST',
<script>
$(document).ready(function(){
alert('est123');
$.ajax({
type: 'POST',
url: 'index.php',
data: ({name:"test"}),
cache: false,
success: function(data){
$('#results').html(data);
}
})
return false;
});
</script>
</head>
<body>
<a href='#' class="idname">click me!</a>
<div id="results"></div>
<div><?php echo $_POST['name'] ?></div>
</body>
</html>
$(文档).ready(函数(){
警报(“est123”);
$.ajax({
键入:“POST”,
url:'index.php',
数据:({name:“test”}),
cache:false,
成功:功能(数据){
$('#results').html(数据);
}
})
返回false;
});
在输出前检查它是否存在
if (isset($_POST['name'])) { echo $_POST['name'] }
但是我不认为这是您希望发生的事情,因为您将把返回的HTML文档粘贴到页面中。我认为这可能会对您有所帮助
<script>
$(document).ready(function(){
dataArray={name:"test"};
$.ajax({
type: 'POST',
url: 'index.php',
data: dataArray,
cache: false,
success: function(data){
$('#results').html(data);
$('#lblName').html(dataArray.name);
}
})
return false;
});
</script>
</head>
<body>
<a href='#' class="idname">click me!</a>
<div id="results"></div>
<div id="lblName"></div>
</body>
</html>
$(文档).ready(函数(){
dataArray={name:“test”};
$.ajax({
键入:“POST”,
url:'index.php',
数据:dataArray,
cache:false,
成功:功能(数据){
$('#results').html(数据);
$('#lblName').html(dataArray.name);
}
})
返回false;
});
您应该使用单独的页面来处理数据,否则可能需要一系列条件。我建议将post数据发送到PHP,PHP应该echo json\u encode($assocArray)
返回到您的AJAXsuccess
方法。只需尝试数据:{name:“test”}
。我不是jQuery专家(或javascript专家),但我没有在$的数据
部分看到对象周围的括号。ajax
就像在任何jQuery文档中看到的那样……尽管如此……没有专家!!!我可能错了,学到了一些新东西。@PHPglue+1@separate page。$ASSOCARAY的用途是什么?在使用类似于MySQL
和PDO
或mysqli
的东西从数据库获取数据后,您可以在其中放置一个PHP关联数组。在echo json_encode($assocArray)之后
(在JavaScript将数据发送到该页面后发生)通过发送到success
方法的参数,只要jQuery AJAX函数的dataType
属性设置为'JSON'
,数据应该以JSON的形式返回。谢谢,但这不是我要找的,问题是$u POST['name']未设置,但在页面加载@eepascarello时调用它当然在页面加载时未设置。。。。加载页面时,没有对该页面进行发布。代码将运行…有任何关于如何修复它的建议@epascarello您希望发生什么?代码将在页面加载时运行,我建议您检查post数据是否存在。如果您不想让它运行,为什么代码在那里,为什么要发回同一页面。您的实际目标是什么?是的,以正确的方式使用Ajax。创建一个能做你想做的事情的php,向它发布数据。返回所需内容,并使用成功回调设置返回的数据。