2016-08-11 22 views
5

Bir gönderi param göndermeye çalışıyorum. request.php için ama post param geri döndürür. boş.JavaScript jQuery AJAX POST veri hatası

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> 
$.ajax({ 
    url: "request.php", 
    type: "POST", 
    data: "{key:'123', action:'getorders'}", 
    contentType: "multipart/form-data", 
    complete: alert("complete"), 
    success: function(data) { 
     alert(data); 
    }, 
    error: alert("error") 
}); 
+0

deneyin verileri gerekir: { 'anahtar': '123', 'eylem': 'GetOrders'} – Vishnu

+0

kaldırmayı '" "bu veri biçiminden" veri: "{key: '123', eylem: 'getorders'}" ' –

+0

çalışmadı @DavidJawphan – PaulE

cevap

3

Sen multipart/form-data için FormData kullanmalı ve ayrıca ajax içinde ek bir seçenek ..

var request = new FormData(); 
request.append('key',123); 
request.append('action','getorders'); 
$.ajax({ 
    url: "request.php", 
    type: "POST", 
    data: request,  
    processData : false, 
    contentType: false, 
    success: function(data) { 
     alert(data); 
    }  
}); 
+0

Benim Kahramanım .. teşekkürler! – PaulE

1

Bu size yardımcı olacaktır. Bir dizge istemiyorsan, bir anahtar değer çiftinin JS haritasını gerçekten istiyorsun. data:{key:'123', action:'getorders'}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> 
    <script> 
    $.ajax({ 
     url:"request.php", 
     type:"POST", 
     data:{key:'123', action:'getorders'}, 
     contentType:"multipart/form-data", 
     complete:alert("complete"), 
     success:function(data) { 
      alert(data); 
      }, 
     error:alert("error") 
      }); 

      </script> 
+0

aynı prob arkadaşım .. didn Çalışın! – PaulE

+0

Aynı hatayı mı alıyorsunuz? – Sinscary

4

kaldır "" Bu aşağıdaki gibi, bir şampiyon gibi yapı nesnesini çalışmalıdır ve stringify o JSON.stringify(newObject) olarak daha sonra hata şansı yoktur olacak

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> 
    <script> 
     var newObject= new Object(); 
     newObject.key= '123'; 
     newObject.action='getorders' 
     $.ajax({ 
      url:"request.php", 
      type:"POST", 
      data:JSON.stringify(newObject), 
      contentType:"multipart/form-data", 
      complete:alert("complete"), 
      success:function(data) { 
       alert(data); 
      }, 
      error:function(){ 
       alert("error"); 
      }); 

    </script> 
+0

Bu çalışmıyor! –

+0

Evet hiç işe yaramadı :) – PaulE

+0

Eğer contentType istediğiniz gibi isterseniz o zaman çalışmalıdır –

0

olarak bu verilerden

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> 
<script> 
    $.ajax({ 
     url:"request.php", 
     type:"POST", 
     data:{key:'123', action:'getorders'}, 
     contentType:"multipart/form-data", 
     complete:alert("complete"), 
     success:function(data) { 
      alert(data); 
     }, 
     error:function(){ 
      alert("error"); 
     }); 

</script> 
+1

hala anahtar boş – PaulE

+0

Ben denedim ne olabilir @PaulE –

0

Bunu deneyin:

data: JSON.stringify({key: '123', action: 'getorders'}), 
contentType: "application/json" 
+0

denedim ... hiçbir şey döndürmüyor .. hatta " anahtar boş " – PaulE

+0

URL'yi doğrulamaya çalışın. Ayrıca alınan hatayı paylaşın. –

+0

$ .ajax ({ url: "request.php", türü: "POST", veri: '{"anahtar": "123", "eylem": "getorders"}', contentType: "application/json", tamamlandı: uyarısı ("tam"), başarısı: fonksiyonu (veri) { uyarı (veri); } hatası: fonksiyonu (jqXHR, textStatus, errorThrown) { console.log (textStatus, errorThrown); } }); Lütfen dikkat: JSON - Dizelerinde (Anahtar ve dize değerleri vb.) Çift tırnak işareti ("") bulunur ve tek tırnak işareti yoktur. –