Ошибка AJAX-PHP снова укусила меня. Теперь вот проблема
Я должен отправить некоторые данные формы из HTML в PHP с помощью AJAX (для этого я использую jQuery), а затем использую эти данные, играю с ним в PHP и даю некоторый результат.
Вызов Ajax выполняется успешно, но проблема в том, что не все данные отправляются на PHP, а некоторые данные пропадают, if I interpreted it correctly
Код jQuery / Ajax
$(document).ready(function(){ $("#button").click(function(e){ e.preventDefault(); var data=$("#Form").serialize(); console.log(data); $.ajax({ type:'POST', url:('php/api.php'), data:"datastring="+data, success: function(d){ console.log("php response "+d); } }); }); });
И PHP
<?php $data=$_POST['datastring']; echo($data); ?>
Теперь вот вывод с консоли
first+name=first&last+name=second&some+detail=third&comments=fourth //output from 1st console.log() statement php response first name=first //output from php
Как вы можете видеть из приведенного выше утверждения, только первое значение повторяется, почему? Означает ли это, что он не получил полную стоимость от AJAX?
благодаря
Почему вы назначаете его для сбора данных?
Просто добавьте данные, не имеющие предшественника.
$.ajax({ type:'POST', url:'php/api.php', data:data, success: function(d){ console.log("php response "+d); } });
Затем в вашем php:
<?php print_r($_POST); ?>
Изменить: исправлена сторона php. Благодаря! но все же!
Я предлагаю вам, не помещайте ()
в url
:
$.ajax({ type:'POST', url:'php/api.php', data:{data : $("#Form").serialize()}, //<---You can put the directly here success: function(d){ console.log("php response "+d); } });
и в php
файле снова удалите ()
из echo($data);
в использовании $_POST['data'];
:
<?php $data=$_POST['data']; echo $data; ?>
Попробуйте это и посмотрите, помогите.