我对javascript和AJAX很陌生。我有一个动态HTML表,我在其中添加了一个带有textarea的新列。我创建一个javascript数组,存储我希望传递给我的php脚本的所有textarea的名称。
下面是我的javascript函数:
function checkout()
{
$.ajax({
type : "POST",
url : "loadmsg.php",
data : {'file_array' : upload},
success : function(data)
{
if(data.status == 'success')
alert("Thank you for subscribing!");
else if(data.status == 'error')
alert("Error on query!");
}
});
}这里,upload是一个全局javascript数组,我希望将它传递给我的php脚本loadmsg.php。
下面是loadmsg.php文件:
<?php
if(isset($_POST['file_array']))
{
$file_array = $_POST['file_array'];
echo "<script type='text/javascript'>alert('Success');</script>";
}
?>但是,在执行签出函数时,不存在警报框。我已经检查了上传数组是否为空。
有人能告诉我哪里出了问题吗?
使用Firebug进行调试后,控制台中会出现以下错误
ReferenceError:$ not defined在$.ajax线路上
发布于 2015-07-27 04:24:01
包括在你的头部标签
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>javascript
不要忘记将dataType: "json",添加到ajax中
function checkout()
{
$.ajax({
type : "POST",
dataType: "json",
url : "loadmsg.php",
data : {'file_array' : upload},
success : function(data)
{
if(data.status == 'success')
alert("Thank you for subscribing!");
else if(data.status == 'error')
alert("Error on query!");
}
});
}php
<?php
if(isset($_POST['file_array']))
{
$file_array = $_POST['file_array'];
$arr['status']='success';
echo json_encode($arr);
}
?>尝尝这个
发布于 2015-07-27 04:20:30
按以下方式更改php代码
<?php
if(isset($_POST['file_array']))
{
$file_array = $_POST['file_array'];
echo json_encode(array('status' => 'success'));
}
?>以及对js代码的一些更改。
$.ajax({
type : "POST",
url : "loadmsg.php",
data : {'file_array' : 'upload'},
success : function(data)
{
var response = $.parseJson(data);
if(response.status == 'success')
alert("Thank you for subscribing!");
else if(response.status == 'error')
alert("Error on query!");
}
});希望它能起作用
发布于 2015-07-27 04:34:33
试试看它对我有用:
你的剧本
function checkout()
{
$.ajax({
type : "POST",
url : "form1.php",
data : {'file_array' : upload},
success : function(data)
{
var data = JSON.parse(data);
if(data.status == 'success')
alert("Thank you for subscribing!");
else if(data.status == 'error')
alert("Error on query!");
}
});
}你的PHP应该是。
<?php
if(isset($_POST['file_array']))
{
$file_array = $_POST['file_array'];
$data['status'] = 'success';
echo json_encode($data);
}
?>https://stackoverflow.com/questions/31644866
复制相似问题