Javascript Ajax调用混乱
在我们开始为措辞和缺乏理解道歉之前,我对这一点完全陌生 我希望使用Ajax运行php脚本-我不需要向php脚本发送任何数据,我只需要在按下按钮时运行它,在脚本运行后,我需要刷新页面主体。到目前为止,我所拥有的: HMTL按钮,可点击:Javascript Ajax调用混乱,javascript,php,jquery,ajax,html,Javascript,Php,Jquery,Ajax,Html,在我们开始为措辞和缺乏理解道歉之前,我对这一点完全陌生 我希望使用Ajax运行php脚本-我不需要向php脚本发送任何数据,我只需要在按下按钮时运行它,在脚本运行后,我需要刷新页面主体。到目前为止,我所拥有的: HMTL按钮,可点击: <a href="#" class="button" onclick = "AjaxCall()"><font color = "white">Next Question</font></a> 这运行php脚本,但
<a href="#" class="button" onclick = "AjaxCall()"><font color = "white">Next Question</font></a>
这运行php脚本,但不会停留在当前页面或刷新正文-有人有任何想法-如果这是完全错误的道歉我正在学习-缓慢
非常感谢
**作为一个小编辑-我不希望用户在编辑过程中离开页面使用
load
而不是典型的ajax
功能怎么样
function AjaxCall() {
$(body).load('increment.php');
}
此外,如果要使用ajax
函数,php
不是有效的类型。type
选项指定是使用GET还是POST来发布请求
至于数据类型
选项(我认为这是您的意思),Ajax不关心被调用进程使用的技术(如ASP或PHP),它只关心返回数据的格式,因此合适的类型是html
,json
,等等
阅读更多:
此外,如果要替换整个正文内容,为什么不刷新页面呢?试试这个
<script type="text/javascript">
function AjaxCall() {
window.location.reload();
}
</script>
<body>
<a href="#" class="button" onclick = "AjaxCall()"><font color = "white">Next Question</font></a>
</body>
函数AjaxCall(){
window.location.reload();
}
您可以在这里学习js和ajax,这将非常有帮助。当然,如果从内部js脚本调用,所有js函数都应该在
内部,如果从外部调用,则可以像
一样调用js gile,并且在js内部不需要再次使用
标记。现在,所有这些函数都不能通过简单地声明它们来工作。因此:
function sayHello(){
alert("Happy coding");
}
不起作用,因为它只是被声明而没有被调用。因此,在jQuery中,在我们声明了一些函数之后,我们使用了上面的sayHello:
jQuery(document).ready(function($){
sayHello();
});
这样我们就可以说,当所有东西都被完全加载时,我们的DOM就有了最终的形状,然后让游戏开始,进行一些DOM操作等等
在上面,您也没有指定呼叫类型,意思是POST
或GET
。这些动词是http请求的alpha和omega。通常,我们使用GET
将您的案例中的数据带到这里,并使用POST
将一些数据发送到服务器进行存储。一个非常常见的GET
请求是:
$.ajax({
type : 'GET',
url : someURL,
data : mydata, //optional if you want to send sth to the server like a user's id and get only that specific user's info
success : function(data) {
console.log("Ajax rocks");
},
error: function(){
console.log("Ajax failed");
}
});
如果您打算以这种方式触发javascript事件,有两种方法可以避免它实际尝试跟随链接:
<a href="#" class="button" onclick = "AjaxCall(); return false;"><font color = "white">Next Question</font></a>
注意这实际上是如何将href修改为javascript调用的。您的ajax应该是
function AjaxCall() {
$.ajax({
url:'increment.php',
type: 'post',
success:function(data)
{
console.log(data);
$('body').html(data);
}
});
}
如果您想学习ajax,那么应该参考
如果您只想加载该页面,那么可以使用“Dutchie432”所述的
.load()
方法。为什么还要使用AJAX?为什么不直接转到该页面?^因为我在页面的开头加载了一个对象-我试图运行递增计数器以递增计数器来更改boad中的内容,因此我需要重新加载boad中的内容^I真的为下一个问题道歉->我是否可以将其放入我的JS标记中,它将替换AjaxCall
函数的内容。请参阅更新。我无法使用加载,因为它会从页面中导航出去
<a href="javascript:AjaxCall();" class="button"><font color = "white">Next Question</font></a>
function AjaxCall() {
$.ajax({
url:'increment.php',
type: 'post',
success:function(data)
{
console.log(data);
$('body').html(data);
}
});
}