2013-09-30 26 views
0

我有一個真正的問題。我有一個php代碼和一個表單,當表單被提交時,一個POST請求被髮送並且頁面重新加載並且當然這個文章是在頁面中維護的。但是我想和AJAX一起工作以便頁面不被刷新。知道AJAX的基礎知識,但我不想從beggining構建所有項目。是否有一種成功的AJAX功能鏈接到我的PHP代碼?將AJAX與PHP代碼鏈接起來。我需要再寫一次嗎?

$.ajax({ 
    type: "POST", 
    url: "index.php", 
    datatype: "html", 
    data: dataString, 
    success: function(data) { 
    //How can i link here to start running my php code which is located in the same page. 
    } 
}); 
+0

定義 「鏈接到我的PHP代碼。」這個AJAX請求會調用'index.php',它可以執行代碼服務器端。然後'data'將包含來自該請求的任何響應。除此之外,你還想做什麼? – David

+0

當然,你需要一些重大的重構,但不是所有的項目,看看網上的http://api.jquery.com/load/ –

+0

我發現只有警報消息的例子。問題是php代碼位於ajax所在的同一頁面上。 – openconvos

回答

0
$.ajax({ 
    type: "POST", 
    url: "somescript.php", 
    datatype: "html", 
    data: dataString, 
    success: function(data) { 
    // try this 
    console.log(data); 
    // see what 'data' actually is 
    } 
}); 

然後在瀏覽器中通過點擊F12看控制檯檢查。

您是否確定要使用數據類型html?你可能想要一個json或XML的數據類型,服務器在ajax post後返回給你什麼?

+0

我試着和阿賈克斯只爲我工作,只有警報messages.Anything其他是錯的。也許我會包括我的PHP代碼在其他腳本不嵌入在同一頁上的AJAX – openconvos

+0

@openc this對我而言並不清楚 - 問題在於 - 警報正好顯示了您希望ajax返回的內容,然後頁面繼續刷新?你試圖阻止刷新? –

+0

我想阻止整個頁面的刷新。也許我需要更好地瞭解ajax中的請求如何工作 – openconvos

0

您必須取消表單的提交,以便發生ajax請求,否則會被取消。還可以使用.serialize獲取要在ajax調用中使用的表單數據的名稱 - 值對字符串。

的Html

<form id="MyForm"> 
    <button id="MyButtonId">Submit</button> 
</form> 

JS

$("#MyForm").submit(function(e){ 
    //Prevents the form from being submitted 
    e.preventDefault(); 
    $.ajax({ 
    type: "POST", 
    data: $("#MyForm").serialize(), 
    url: "somescript.php", 
    datatype: "html", 
    data: dataString, 
    success: function(data) { 
     alert(data); 
    } 
    }); 
}); 
+0

和我可以通過取消表單提交實現什麼?這是我的目標,使一個帖子異步出現 – openconvos

+0

@openc如果表單提交它更改頁面,從而取消你的ajax調用。 –

+0

這就是發生了什麼!但是,如果我把警報顯示警報,否則它會刷新頁面 – openconvos

相關問題