2016-08-08 14 views
1

Ich habe mit dem Senden einer großen Zeichenfolge an eine PHP-Seite über AJAX Post-Methode gekämpft. Der AJAX-Teil scheint gut zu funktionieren und die Zeichenfolge ohne Probleme zu senden, mein Problem ist so schnell wie ich Umleiten zu meiner Zielseite scheint der PHP $ _POST leer zu sein. Ich habe einige Nachforschungen angestellt und ich habe herausgefunden, dass dies ein wiederkehrendes Problem ist, aber keine der Lösungen hat für mich funktioniert.Große Zeichenfolge senden Ajax zu PHP

Ajax Seite Ajax sending sing as intended

PHP Zielseite

PHP destination page

AJAX Code

$("#save").click(function(event){ 
var data = $("#mycontent").html(); 

$.ajax({ 
    type: "POST", 
    url: "concat.php", 
    cache:false, 
    dataType:"html", 
    data: { 
     mycontent: data, 
     }, 
    success: function(msg){ 
     alert("Data Saved: " + msg); 
     top.location.href = 'concat.php'; 
    } 
}); 
}); 

PHP-Seite

session_start(); 
if(isset($_POST['mycontent'])){ 
$content = $_POST['mycontent']; 
} 
var_dump($_POST); 
var_dump($_REQUEST); 
+3

Es gibt eine maximale Größe für POST-Anfragen in der PHP-Konfiguration. Stellen Sie sicher, dass Sie diesen nicht getroffen haben. – Sirko

+1

Seine in 'php.ini' und es heißt' post_max_size' – RiggsFolly

+0

ich habe es auf 8M gesetzt glaube nicht, dass meine Zeichenfolge jemals beyong gehen wird 1M post_max_size = 8M – Z3R0

Antwort

1

Die Variable $ _POST bleibt zwischen der Seitenumleitung nicht erhalten. Sie benötigen einen anderen Mechanismus, um gepostete Daten zu speichern. mit $ _GET, Session oder Datenbank usw.

+0

wo genau haben Sie eine Weiterleitung? – Sirko

+0

Wie leiten Sie die Seite nach der Ajax-Anfrage um? Den relevanten Code posten? – Jason

+1

Sie machen die Seitenumleitung in Ihrem JS-Code 'top.location.href = 'concat.php';' das sendet im Grunde eine GET-Anfrage an /contact.php deshalb werden die POST-Daten nicht gespeichert – Jason