2012-05-24 23 views
0

我使用Javascript和我需要調用一個PHP文件來執行一些東西,但我想不使用window.open("filename.php");,因爲它通常會打開一個新標籤頁或新窗口。如何從Javascript推出PHP文件,而不window.open

有時PHP文件需要幾秒鐘才能完成它的工作,我不喜歡在工作時看到打開的標籤或打開的窗口。

感謝

+2

你可以做到這一點使用AJAX – jugnu

回答

3

您可以使用AJAX或動態創建的iframe。

如果使用ExtJS的圖書館 - here是例如Ajax請求

+0

由於這是Ext.Ajax.request和u張貼Ext.data.Connection的例子有什麼不同? – Hataru

+0

Ext.data - 比Ext.Ajax更高級別 對於啓動php文件offcourse更簡單的使用Ext.Ajax。 – yAnTar

5

AJAX是解決方案,並與jQuery它是如此簡單。

只需添加你的頭段這條線(包括jQuery的):

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script> 
<script type="text/javascript"> 
    $.ajax({ 
     type: "GET", 
     url: "yourPage.php" 
    }).done(function(data) { 
     alert("Request is done"); 
    }); 
</script> 
+0

謝謝,但我使用ExtJs框架。你認爲我可以在同一個應用程序中使用兩個框架的一部分嗎?我如何處理它們之間的對象? – Hataru

+1

我敢肯定,這兩個可以一起工作,但我真的不知道ExtJS的,所以我不能告訴。但是,使用ExtJS Ajax方法和jQuery一樣簡單。隨便看看的文檔在這裏:Ext.Ajax的(http://docs.sencha.com/ext-js/4-0/#!/api/Ext.Ajax) –

2

使用AJAX!這是一個使用JavaScript的jQuery庫的解決方案:

$.post('your_file.php', {parameter : some_value}, function(response){ 
    // now you can use `response` came from your_file.php after execution 
}); 

$.post()$.get()是的jQuery $.ajax()速記方法。

或者乾脆用.load()

('#test_div').load('your_file.php'); //load data from server into `#test_div` 

會做的工作,如果你想只執行服務器端的東西。

相關問題