在我们开始道歉并且缺乏理解之前 - 我对此完全陌生。
我希望使用Ajax运行php脚本 - 我不需要将任何数据发送到php脚本,我只需要按下按钮运行,脚本运行后我需要刷新页面的正文。到目前为止我所拥有的: 单击HMTL按钮:
<a href="#" class="button" onclick = "AjaxCall()"><font color = "white">Next Question</font></a>
JS Ajax调用:
function AjaxCall() {
$.ajax({
url:'increment.php',
type: 'php',
success:function(content,code)
{
alert(code);
$('body').html(content);
}
});
}
这会运行php脚本,但不会保留在当前页面上或刷新身体 - 有任何人有任何想法 - 如果这是完全错误的话我会道歉 - 我慢慢学习 -
非常感谢提前。
**作为一个小编辑 - 我不希望用户在此过程中离开页面
答案 0 :(得分:2)
如何使用load
代替典型的ajax
函数?
function AjaxCall() {
$(body).load('increment.php');
}
此外,如果您使用ajax
函数,php
不是有效类型。 type
选项指定您是使用GET还是POST发布请求。
就dataType
选项(我认为你的意思)而言,Ajax并不关心被调用进程使用的技术(如ASP或PHP),它只关心格式返回的数据,因此适当的类型是html
,json
等......
阅读更多:http://api.jquery.com/jquery.ajax/
此外,如果您要更换整个身体内容,为什么不刷新页面?
答案 1 :(得分:0)
试试这个;
<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>
答案 2 :(得分:0)
你可以在这里学习js和ajax http://www.w3schools.com/ajax/default.asp会有很多帮助。当然,如果从内部js脚本调用所有js函数应该在<script></script>
内部,并且如果从外部调用,则调用js gile,如<script src"somejs.js"></script>
,在js内部,不再需要<script>
标记。现在所有这些功能都不能简单地声明它们。所以这个:
function sayHello(){
alert("Happy coding");
}
不起作用,因为它只是声明而没有被调用。所以在我们使用上面的sayHello声明一些函数之后使用的jQuery:
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");
}
});
答案 3 :(得分:0)
如果您要以这种方式触发javascript事件,有两种方法可以解决这个问题并使其不会实际尝试关注该链接:
<a href="#" class="button" onclick = "AjaxCall(); return false;"><font color = "white">Next Question</font></a>
请注意return false;
。这将停止以下链接。另一种方法是:
<a href="javascript:AjaxCall();" class="button"><font color = "white">Next Question</font></a>
请注意这实际上是如何将href修改为javascript调用。
答案 4 :(得分:0)
你的ajax应该是
function AjaxCall() {
$.ajax({
url:'increment.php',
type: 'post',
success:function(data)
{
console.log(data);
$('body').html(data);
}
});
}
如果你想学习ajax,那么你应该参考this link
如果您只想加载该页面,则可以使用 .load()
方法作为“Dutchie432”进行描述。