jQuery $.get() JSON 函数正在执行,但不会产生任何结果
jQuery $.get() JSON function executing but won't result anything
我调用脚本时(当用户单击链接/按钮时),执行$.getJSON()
时调用的页面都在执行其工作,尽管与之关联的函数不会执行任何操作! 这是在Script.php
文件中:
$('a.addCategorie').click(function (e)
{
e.preventDefault();
var dialog='<div id="Dialog_AddCategory">'
<div id="tableContainer">'
<table class="categoryTable">'
<thead>'
<tr>'
<th>Ordre</th>'
<th>Catégorie</th>'
<th> </th>'
</tr>'
</thead>'
<tbody>'
<?php
$sql="SELECT nom, ordre FROM category ORDER BY ordre";
$result=mysql_query($sql);
while($row=mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>". $row['ordre'] ."</td>";
echo "<td>". utf8_decode($row['nom']) ."</td>";
echo "<td id='"" . $row['ordre'] . "'" class='"deleteCat'"></td>";
echo "</tr>'''n";
}
?>
</tbody>'
</table></div>'
<div id="addCategorie_Form">'
<form>'
<label for="nomCategorie">Nom de la catégorie</label>'
<input type="text" name="nomCategorie" id="nomCategorie"/>'
<label for="ordreCategorie">Ordre</label>'
<input type="text" name="ordreCategorie" id="ordreCategorie"/>'
</form>'
</div></div>';
$('body').append(dialog);
$( '#Dialog_AddCategory' ).dialog({
autoOpen: false,
modal: true,
width: 800,
height: 400,
open: function(even, ui) { $(".ui-dialog-titlebar-close", ui.dialog).css("visibility","hidden");},
title: "Nouvelle catégorie",
resizable: false,
hide:'slide',
show:'slide',
buttons:
{
"Créer la catégorie":function()
{
var ok = true;
if(isNaN($('#ordreCategorie').val()) || $('#ordreCategorie').val().length < 1)
{
ok = false;
$('#ordreCategorie').css("background-color","#F00");
}
else
{
$('#ordreCategorie').css("background-color","#CF0");
}
if($('#nomCategorie').val().length< 3)
{
ok = false;
$('#nomCategorie').css("background-color","#F00");
}
else
{
$('#nomCategorie').css("background-color","#CF0");
}
if(ok)
{
var ordre = $('#ordreCategorie').val();
var nom = $('#nomCategorie').val();
$.getJSON('addCategory.php', {'ordre':ordre,'nom':nom}, function(data)
{
console.log("THIS LOG WON'T APPEAR AND THE CODE WON'T EXECUTE.");
if( data.result === "false" )
{
$('div id="Dialog_Feedback">Une catégorie porte déjà ce nom ou cet ordre!</div>').dialog(
{
autoOpen:false,
title:'Une erreur est survenue!',
width:200,
height:'auto',
resizable: false,
modal:true,
buttons:
{
"OK" : function()
{
$( this ).remove();
}
}
});
}
else
{
$('<div id="Dialog_Feedback">L''ajout a été effectué avec succès!</div>').dialog({
autoOpen:false,
title:'Catégorie ajoutée!',
width:400,
height:'auto',
resizable:false,
modal:true,
buttons:{
"Ok": function()
{
$(this).remove();
window.location.reload();
}
}
});
}
$('#Dialog_Feedback').dialog("open");
});
}
},
"Annuler":function()
{
$( this ).remove();
}
}
});
这是addCategory.php
页面:
<?php
include('../../anything.php');
$nom = $_GET['nom'];
$ordre = $_GET['ordre'];
$sql = "SELECT ordre, nom FROM category";
$checking = mysql_query($sql);
$ok = true;
while ($row=mysql_fetch_array($checking))
{
echo "test";
if((strtolower($nom) === strtolower($row['nom'])) || ($ordre === $row['ordre']))
{
$ok = false;
}
}
if ($ok)
{
$sql = "INSERT INTO category (nom,ordre) VALUES('$nom',$ordre)";
$result = mysql_query($sql);
mysql_close($connexion);
echo json_encode(array("result"=>"true"));
}
else
{
echo json_encode(array("result"=>"false"));
}
?>
有人知道是什么原因造成的吗?我已经检查了GET中发送的两个变量,它们包含一些东西。
我的 PHP 页面返回如下 JSON 编码结果:
echo json_encode(array("result"=>"true"));
谢谢大家的时间。
编辑:我忘了提到Chrome Inspector和Firebug在整个脚本执行中都没有报告任何错误。console.log()
部分也没有出现,这意味着 PHP 页面中的命令被执行,但$.get()
中包含的 javascript 函数没有被触发。
编辑2:我还尝试将echo
调用更改为echo true;
和return true;
。
编辑3:我可以在Chrome Inspector和Firebug的"网络"选项卡中看到PHP页面的结果:{"result":"false"}array(1) {
["result"]=>
string(5) "false"
}
这表明问题将存在于$.getJSON()
调用中!但对我来说一切似乎都很好!
如果将无效的 JSON 传递给 $.getJSON
,将不会触发成功回调。 正如您在编辑中提到的,您得到的回复是 {"result":"false"}array(1) { ["result"]=> string(5) "false" }
,这当然不是有效的 JSON。
更正您的脚本以生成有效的 JSON,您应该很高兴!
- 尝试添加一个选项以使用append进行选择,但没有任何结果
- 比较数组中的连续元素不会返回任何结果(javascript)
- Ajax 不返回任何结果
- jQuery $.get() JSON 函数正在执行,但不会产生任何结果
- 使用ajax运行php脚本不会显示任何结果
- 昨天,我的Date.now()溢出了,我在Google上找不到任何相关结果
- 使用角度剑道列表视图不显示任何结果
- 流星呼叫没有给出任何结果
- JSON API 不会在 jquery getJSON 中返回任何结果
- JavaScript 函数不返回任何结果
- 执行带有 WHERE 子句的 Sql 在 Phonegap 中不返回任何结果
- 我正在尝试在这个基本的xhtml页面上使用JavaScript和XPath.但我没有得到任何结果
- JS循环不产生任何结果
- 为什么Number.MIN_VALUE < -1219312(或任何小值)的计算结果为 false
- 使用 Javascript 在 MongoDB 中使用希腊字符执行查询不会返回任何结果
- 自定义谷歌搜索不会返回任何结果
- Div 标记不显示任何结果
- 为什么对于一个手机号码,这个数据表没有显示任何结果
- Facebook JS SDK未返回任何结果
- gullow管道(gullow.dest())不会创建任何结果