簡體   English   中英

使用ajax將數據發布到另一個php頁面

[英]Post data to another php page using ajax

我使用Fullcalendar(javascript)。 當您單擊事件時,它將打開一個包含其內容的表單。

eventClick: function(calEvent, jsEvent, view) {   

content.val(calEvent.content); //content of event
$('#event').show(); 
formOpen('edit');

},

當您單擊該事件時,我想這樣做,它打開另一個php頁面並在其中顯示其數據。 現在,我正在嘗試僅將“ hello”字符串發送到PAGE2。

eventClick: function(calEvent, jsEvent, view) {             

var content = "hello";

$.ajax({

    type:'POST',
    cache: false,
    dataType: "text",
    url: "page2.php?id=<?php echo $_SESSION['id']?>",
    data: { content: content },

    success: function(data){
       location.href = 'page2.php?id=<?php echo $_SESSION['id']?>';
    },  
});
},

第2頁

$content = $_POST['content']; 
echo $content;

在瀏覽器中,我看到當您單擊一個事件時,它在PAGE2上執行了FORM DATA:content:hello的POST請求。 然后有一個到PAGE2的過渡,還有一些沒有數據的GET請求。 在PAGE2上,我看到錯誤:未定義索引:內容。

我花了很多天試圖解決這個問題,但是還沒有找到解決方案。 請幫助我了解錯誤在哪里。

似乎您可以創建一個<form method='post' action='page2.php?id=....'並使用名為content的隱藏input ,然后在其onClick中填充隱藏內容后在您的onClick調用表單提交功能輸入所需內容的價值

有一點像

<form id ="theForm" action="page2.php?id=<?php echo $_SESSION['id']?>" method="POST">
    <input type="hidden" name="content" id="content"/>
</form>
<script>
    eventClick: function (calEvent, jsEvent, view) {
        var content = document.getElementById('content');
        var form = document.getElementById('theForm');
        content.value = 'hello'; // based on your example, obviously you need a value based on the click
        form.submit();
    },
</script>

因為當您發送ajax請求時,您將通過內容發送。

但是成功后,您可以使用location.href定位到PAGE2,這將創建一個與上一個ajax調用不同的http請求。

我可以通過將內容值通過GET而不是POST來實現您的目標。

另一種適用於POST請求的方法是在html頁面上使用隱藏的表單,即將名稱為“ content”的輸入設置為您的內容。 然后調用該表單的提交功能。

有關此方法的示例,請轉到以下堆棧溢出問題和答案: https : //stackoverflow.com/a/26697375/7058912

從我的理解。 當有人單擊日歷事件時,您想打開另一個頁面。

您需要在eventClick內部

/*GENERATE YOUR URL HERE. EVENT object PASSED TO THE EVENT CLICK FUNCTION ALREADY CONTAINS ALL EVENT DATA LIKE ID ...*/
var url = 'page2.php?id='+calEvent.id
var win = window.open(url, '_blank');
win.focus();

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM