2017-08-17 14 views
0

この私のjQueryコード:失敗データAJAX要求

$("li").on('click', function (event) { 
    event.preventDefault(); 

    $.ajax({ 
     url: "/ads/updateads", // Url to which the request is send 
     type: "POST",    // Type of request to be send, called as method 
     data: {name: 'mhf'}, // Data sent to server, a set of key/value pairs (i.e. form fields and values) 
     contentType: false,  // The content type used when sending data to the server. 
     cache: false,    // To unable request pages to be cached 
     processData: false,  // To send DOMDocument or non processed data file it is set to false 
     success: function (data) // A function to be called if request succeeds 
     { 
      console.log(data); 
     }, 
     error: function() { 
      $('body').append('Errrrrrror'); 
     } 
    }); 
}); 

と私のPHPコードはここにある:

<?php 
    echo '<pre>'; 
    print_r($_POST); 
?> 

とhtmlコード:

<ul id="myselect"> 
    <li>Item 1</li> 
    <li>Item 2</li> 
</ul> 

が、$ _POSTです空、どこに間違っているのか教えてください。 '値1'、 KEY2:

+0

'processData:false、' | '_ contentType:false' –

+0

contentTypeまたはprocessDataを使用する必要はありません。 dataType: 'json'のように、dataTypeを追加する必要があります。 PHPでは、json_encode($ _POST)だけをエコーする必要があります。また、私の場合は、ポストデータオブジェクトに「名前」を一重引用符で囲みます。 –

+0

ありがとうございます** @ブライアン**、私は私のフォームで正確に同じコードを使用するとき正しく動作しますが、ここで私は知らない!もっと教えてくれますか? – MHF

答えて

0

データオプションがフォーム KEY1 = VALUE1 & KEY2 =値2、またはフォーム{KEY​​1のオブジェクトのクエリ文字列のいずれかを含むことができるhttp://api.jquery.com/jQuery.ajax/

を参照してください '値2 '}。後者の形式を使用すると、データは送信前にjQuery.param()を使用して に変換され、クエリ文字列に変換されます。この の処理は、processDataをfalseに設定することにより、を回避することができます。

関連する問題