2016-08-02 15 views
0

Wieder bin ich mit Ajax in meinem Code stecken. Ich mache Live-Suche Ajax-System für mein Projekt, aber wenn ich die Daten an search.php senden & var_dump POST-Array, bekomme ich leere Post-Array.POST-Array ist leer, nachdem die Daten über Ajax gesendet wurden

AJAX

function searching(string){ 
$.ajax({ 
    url : "request/search.php", 
    type : "POST", 
    data : "search="+string, 
    type : "text", 
    beforeSend : function(http){ 

    }, 
    success : function(response,status,http){ 
    alert(response); 
    }, 
    error : function(http,status,error){ 
     $('.response').html("<span class='error'>Something went wrong</span>"); 
     $(".response").slideDown(); 
    } 
    }) 
} 

HTML

<form id="searchBox"> 
    <p> 
     <input type="text" name="search" id="search" onkeyup="searching(this.value)" placeholder="Search here"> 
     <button class="find" data-icon="&#xe986;"></button> 
    </p> 
    </form> 

Antwort

0

Sie überschreiben Ihre type : "POST", mit type : "text",. Sie müssen also type : "text", entfernen und seit jQuery 1.9 sollten Sie method statt type verwenden.

Daneben sollten Sie nicht schreiben data : "search="+string, aber Gebrauch:

data : { 
    search : string 
} 

statt, denn dann können Sie sicher sein, dass string codiert immer sein wird, die richtige Art und Weise.

+0

oop danke ich habe das nicht bemerkt –

0
function searching(string){ 

$.ajax({ 
    url : "request/search.php", 
    type : "POST", 
    data : {'search': string}, 
    type : "text", 
    beforeSend : function(http){ 

    }, 
success : function(response,status,http){ 
    alert(response); 
    }, 
error : function(http,status,error){ 
    $('.response').html("<span class='error'>Something went wrong</span>"); 
    $(".response").slideDown(); 
    } 
    }) 
}