2016-09-24 46 views
0

我是一个新手在PHP和JavaScript,我正在寻找一个简单的解决方案如何从JavaScript执行PHP文件。我偶然发现了几个例子(herehere),但他们使用jQuery,我想避免它。如何在JavaScript中执行php文件没有jQuery

我的意图是在服务器上运行更新过程,就像在第二个示例中一样。

var stillAlive = setInterval(function() { 
    /* XHR back to server 
     Example uses jQuery */ 
    $.get("stillAlive.php"); 
}, 60000); 

我想使用AJAX的方法,但是所有的例子都显示了如何发送和获取有关请求的一些数据。在这里,我不需要发送任何东西,只需执行简单的php文件即可。我不知道如何使用AJAX这种简单明了的方式。

thanx的建议

+2

尝试寻找一个“香草JavaScript的AJAX”教程这样一个https://www.sitepoint.com/guide-vanilla-ajax-without-jquery/ – tristansokol

+0

_Here我不需要送什么,只是执行简单的PHP文件。然而,你仍然需要使用AJAX,因为这是**从JavaScript执行脚本的唯一方法。 – hindmost

+1

@ behindmost - 不完全。由于他不想发送或检索任何数据,他可能只是在设置的间隔 –

回答

1
function set(){ 
frame=document.createElement("iframe"); 
frame.src="yourfile.php"; 
frame.style.opacity=0; 
body.appendChild(frame); 
frame.onload=function(){ 
body.removeChild(this); 
window.setTimeout(function(){ 
set(); 
},2000); 
} 
set(); 

这将创建一个新的iframe,如果IFRAME被加载,破坏了iframe等待2秒,然后重新启动循环。

+0

中重新加载了一个隐藏的iframe,谢谢你的回答,但我终于发现,如何使用AJAX运行php文件。看到我上面的答案。 :-) – lyborko

+0

@lyborko:你很欢迎。但是,正如你所知道的,用户可以通过获得upvotes等来赢得声望。如果你愿意的话,用户可以赢得声望。 –

1

这可以很好地使用AJAX(不需要jQuery)。该脚本将每5秒执行一次php文件。

<script> 
    var exec_php = function() { 
     var xhttp = new XMLHttpRequest(); 
     xhttp.open("GET", "myroutine.php", true); 
     xhttp.send(); 
    } 

    setInterval(exec_php, 5000); 
</script> 
+1

顺便说一下,如果客户端失去与服务器的连接,可以说5小时,他将有3600个打开的请求! !最好等待答案,并使用超时重新启动功能 –

+0

thanx ... – lyborko