使用jquery ajax将数据从js文件传递到php

时间:2014-02-25 11:19:09

标签: javascript php jquery

ajaxcheck.js

var val = "hai";

 $.ajax(
 {
 type: 'POST',
 url: 'ajaxphp.php',
 data: { "abc" : val },

success :function(data)
 {
    alert('success'); 
 }

 }

 )
.done(function(data) { 
alert("success :"+data.slice(0, 100));

 }

 )
.fail(function() { 

alert("error"); 

}
);

ajax.html

 <!DOCTYPE html >

 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
 </script>

  <script type="text/javascript" src="ajaxcheck.js"></script>

  <title>ajax request testing</title>
  </head>

  <body>
  </body>
  </html> 

ajaxphp.php

<?php

$v_var = $_POST["abc"];

print_r($_POST);

if(isset($_POST["abc"]))
{
echo $v_var;
}
else
{
echo "Data not received";
}
?>

当我运行ajax.html文件时,我获得成功警报。但是当我运行ajaxphp.php文件时,它会显示如下通知:

undefined index abc 

为什么$v_var没有收到数据?在哪里,我错了?请帮忙。

2 个答案:

答案 0 :(得分:0)

  

实际上ajaxphp.php文件用于从中接收数据   post方法,我会给出回应。

在第一种情况下,通过使用ajax post方法,它将调用ajaxphp.php文件。

在第二种情况下,您使用直接文件调用而没有任何发布数据(这是显示错误的方式)

试试这个

var val =“hai”     $ .post(“ajaxphp.php”,{'abc':val} function(data){       alert(“数据加载:”+数据);     });

答案 1 :(得分:0)

jQuery期望一个对象作为数据,删除双引号:

data: { abc : val }