1

AJAX-PHP 错误再次困扰着
我。现在我要使用 AJAX 将一些表单数据从 HTML 发送到 PHP,(我为此使用 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 获得全部价值?

谢谢

4

2 回答 2

2

为什么要将它分配给数据字符串?

只需添加没有前任的数据字符串。

$.ajax({
    type:'POST',
    url:'php/api.php',
    data:data,
    success: function(d){           
    console.log("php response "+d);
  }
});

然后在你的 php 中:

<?php print_r($_POST); ?>

编辑:修复了 php 方面。谢谢!虽然没有修复它!

于 2013-04-05T05:50:25.953 回答
0

我建议你,不要把任何东西()放在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文件中再次删除()from echo($data);in use $_POST['data'];

<?php
   $data=$_POST['data'];
   echo $data;
?>

试试这个,看看是否有帮助。

于 2013-04-05T05:53:12.427 回答