2015-10-13 3 views
0

Я пытаюсь отправить данные из ajax в php, но php не показывает его. оба сценария находятся на одном сайте: «testpage.php».Передача данных с Ajax на php

JQuery/Ajax:

<script src="http://code.jquery.com/jquery-latest.js" type="text/javascript"></script> 
<script> 
    $(document).ready(function() { 
    $("#button").click(function() { 

     var test = "bla"; 
     $.ajax({ 
     url: "testpage.php", 
     type: "post", 
     data: test, 
     success: function (response) { 
      alert("test ok"); 
     }, 
     error: function(jqXHR, textStatus, errorThrown) { 
      console.log(textStatus, errorThrown); 
     } 
     }); 
    }); 
    }); 
</script> 

PHP:

 <?php 
     if(isset($_POST["test"])) { 
      $test2 = $_POST; 
      echo $test2; 
      echo "Test"; 
     } 
     ?> 

Я не вижу результата PHP

+2

данные: {test: test}, ' – Saty

+0

использовать данные: {test: test} и предупредить ответ, чтобы увидеть ваш результат. успех: функция (ответ) { предупреждение (ответ); }, Или Просто добавьте свой ответ на html. –

+0

Возможный дубликат [Как вернуть ответ от асинхронного вызова?] (Http://stackoverflow.com/questions/14220321/how-to-return-the-response-from-an-asynchronous-call) – Jan

ответ

0

использование data: {test:test}, & предупреждение ваш ответ, чтобы увидеть результат.

success: function (response) { 
    alert(response); 
}, 

или просто append ваш ответ на html.

+0

Отзыв показывает весь мой html-код. это верно? – Chpo7234

+0

Ответ должен быть вашим контентом, который вы эхо, печатаете или возвращаете в «testpage.php». –

0

Вы должны использовать data: {test:sometext}, если вы хотите сделать POST запрос.

0

PHP не может видеть значение в сообщении, потому что вы отправляете только bla в тело PHP. Вы должны отправить test=bla. Но jQuery может сделать это автоматически, отправив data : { test : test }.

$(document).ready(function() { 
    $("#button").click(function() { 

     var test = "bla"; 
     $.ajax({ 
      url: "testpage.php", 
      type: "post", 
      data: { 
       test : test 
      }, 
      success: function (response) { 
       alert("test ok"); 
      }, 
      error: function(jqXHR, textStatus, errorThrown) { 
       console.log(textStatus, errorThrown); 
      } 
     }); 
    }); 
}); 
0

Метод serialize() можно использовать в $ .ajax();

Что-то вроде:

$.ajax({ 
    url: "testpage.php", 
    type: "post", 
    data: $("#myForm input").serialize(), 
    success: function (response) { 
     alert("test ok"); 
    }, 
    error: function(jqXHR, textStatus, errorThrown) { 
     console.log(textStatus, errorThrown); 
    } 
    }); 

Затем попытайтесь пользователям доступ к сообщению данных по имени формы ввода.

-1
var data = { 
     'test': "bla", 
    }; 

    $.ajax({ 
     type: "POST", 
     url: "testpage.php", 
     data: data, 
     dataType: "json" 
    }).done(function(response){ 
     console.log(response); 
    }).fail(function(response){ 
     console.log(response); 
    }); 
Смежные вопросы