2014-02-25 34 views
0

ajaxcheck.js通过数据使用jquery AJAX

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"); 

} 
); 

到PHP 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"; 
} 
?> 

当我运行aja x.html文件,我得到成功警报。但是,当我运行ajaxphp.php文件它显示了同样的通知:

undefined index abc 

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

+0

我觉得你的新的PHP。首先清楚地阅读php手册。 – vijaykumar

回答

0

其实ajaxphp.php文件是用来接收 post方法的数据,我会给出响应。

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

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

试试这个

VAR VAL =“海” $。员额(“ajaxphp.php” {'abc':val}函数(数据)alert(“Data Loaded:”+ data); });

+0

,没有任何帖子数据? ajaxcheck.js中的ajax调用会将“hai”数据发布到ajaxphp.php文件中,那么为什么ajaxphp.php不会在变量中接收该数据并将其打印出来呢? – sujai

0

jQuery的期望一个对象的数据,去掉双引号:

data: { abc : val } 
+0

我已经试过了,仍然在努力工作。 – sujai

+0

你的php文件名是否正确?你在js中有“ajaxphpcheck.php”,在你的帖子中有“ajaxphp.php”。 – Wilmer

+0

雅只是文件名是正确的,抱歉,我忘了在发布时在js中编辑ajaxphp.php .. – sujai