在这里,我们将给大家分享关于在使用AJAX调用的PHP文件中检索序列化数据的知识,让您更了解在使用ajax调用的php文件中检索序列化数据的方法的本质,同时也会涉及到如何更有效地Ajax调用一个不能在
在这里,我们将给大家分享关于在使用AJAX调用的PHP文件中检索序列化数据的知识,让您更了解在使用ajax调用的php文件中检索序列化数据的方法的本质,同时也会涉及到如何更有效地Ajax调用一个不能在该文件中使用’require_once’的php文件、Ajax调用中的php json响应、AJAX调用的自定义PHP错误、javascript – Ajax调用,Java脚本Ajax调用和JQuery Ajax调用之间的区别的内容。
本文目录一览:- 在使用AJAX调用的PHP文件中检索序列化数据(在使用ajax调用的php文件中检索序列化数据的方法)
- Ajax调用一个不能在该文件中使用’require_once’的php文件
- Ajax调用中的php json响应
- AJAX调用的自定义PHP错误
- javascript – Ajax调用,Java脚本Ajax调用和JQuery Ajax调用之间的区别
在使用AJAX调用的PHP文件中检索序列化数据(在使用ajax调用的php文件中检索序列化数据的方法)
表单发送AJAX代码:
var str = $("form").serialize();alert(str);// var uns=@unserialize(str);//alert(uns);$.ajax({ type: "POST", url: "update.php", data: "box1="+str, success: function(value) { $("#data").html(value); }
HTML表单:
<form> <input type=checkbox name=box[] value=''1''/><input type=checkbox name=box[] value=''2''/></form>
在我的PHP中:
$box=$_POST[''box1''];
如何在PHP端访问每个box变量值?
答案1
小编典典您的js应该是这样的:
var str = $("form").serializeArray();$.ajax({ type: "POST", url: "update.php", data: str, success: function(value) { $("#data").html(value); }});
使用php,您应该循环结果数组。
$box = $_POST[''box''];foreach ($box as $x) { echo $x;}
编辑: 您必须在jQuery中使用serializeArray函数。然后它将与此代码一起工作。
Ajax调用一个不能在该文件中使用’require_once’的php文件
我基本上有一个PHP文件的ajax调用:
$("#acceptBtn").click(function(){
$.ajax({
type: "POST",
url:"acceptOfferFunction.PHP",
data: {hash2: getURLParameter('hash2')},
success:function(result){
alert(result);
}
});
为了清楚起见,这里是该文件的简化版本,说明了问题:
<?PHP
session_start();
//require_once 'AcceptAnOfferFromEditor.PHP';
echo('foo');
?>
这有效,’foo’会收到警报,但是如果我取消注释require_once语句,它就不再了.
包含的文件是一个具有许多功能的PHP类.能够打电话给他们会很方便.
解决方法:
您所需的文件可能存在错误.启用error reporting进行调试:
<?PHP
session_start();
ini_set('display_errors', 1);
error_reporting(E_ALL);
require_once 'AcceptAnOfferFromEditor.PHP';
echo('foo');
或者,文件中可能存在die()或exit调用.
Ajax调用中的php json响应
这是我的PHP代码
function GetTransactionList($data)
{
// DB transaction
$records = array();
while($row = MysqL_fetch_array($result))
array_push($records, $row);
echo json_encode(array("IsError" => false, "Records" => $records));
}
这是我从PHP的ajax调用中的json响应
{
IsError:false,
Records:[
{0:1,
1:1000,
2:0,
3:"Peacock India trial payment",
4:"2013-08-03",
5:1,
TransactionID:1,
Credit:1000,
Debit:0,
Reason:"Peacock India trial payment",
TransactionDate:"2013-08-03",
TransactionByUserID:1
}]
}
在这里,我得到了结果,但是json_encode()方法对每行进行两次编码,首先通过index => value对设置值,第二次通过column_name => value对进行设置.我想知道为什么会这样吗?有什么办法可以减少这种双重工作.我只希望JSON响应如下
{
IsError:false,
Records:[
{TransactionID:1,
Credit:1000,
Debit:0,
Reason:"Peacock India trial payment",
TransactionDate:"2013-08-03",
TransactionByUserID:1
}]
}
解决方法:
不,不是,是MysqL_fetch_array为您提供关联键和数字键.
如果只希望关联键,则在函数MysqL_fetch_array($result,MysqL_ASSOC);中指定它.
AJAX调用的自定义PHP错误
我在这里看到http://php4every1.com/tutorials/jquery-ajax-tutorial/,您可以使用JSON对象并处理来自JQuery的Success函数的错误报告,但这似乎不是正确的方法.对我来说,当出现错误时应该使用jQuery的错误函数.我想我是那种东西的坚持者.
这就是我现在正在做的事情.
//In my PHP file called from JQuery function error($msg) { header("HTTP/1.0 555 ".$msg); die(); } //Then that error is handled accordingly from JQuery
所以我创建了一个555的错误代码 – 它没有被定义为任何东西 – 并且在我自己的自定义错误消息上添加了.这是正确的方法吗?我应该只使用JSON吗?必须有一种标准的方式来发送这样的错误信息,对吗?
如果您需要查看更多我的代码以获得更好的想法,整个项目都在github上:https://github.com/josephwegner/fileDrop.有问题的文件是config/phpFuncts.php.
解决方法
javascript – Ajax调用,Java脚本Ajax调用和JQuery Ajax调用之间的区别
如果通过纯Java脚本方式,JQuery Way或JASON方式进行ajax调用,是否有任何区别?
我使用Java Script方式开发了一些代码,如果有任何额外的好处,我想是否应该将它更改为JQuery.
如果没有区别,我宁愿保持这种方式,并在我的下一个实现中考虑它.
解决方法:
jQuery是一个JavaScript库 – 它提供了一组函数作为帮助程序,它们可以包含常用函数的片段,但也可以包含针对不同浏览器qwerks的hack.
在进行AJAX调用时需要考虑一些事项,对于不同的浏览器,一些代码必须是不同的.使用jQuery,他们为你工作,你可以使用一个易于使用的功能,而不是编写自己的修复程序,并自己进行所有的测试.
我们今天的关于在使用AJAX调用的PHP文件中检索序列化数据和在使用ajax调用的php文件中检索序列化数据的方法的分享已经告一段落,感谢您的关注,如果您想了解更多关于Ajax调用一个不能在该文件中使用’require_once’的php文件、Ajax调用中的php json响应、AJAX调用的自定义PHP错误、javascript – Ajax调用,Java脚本Ajax调用和JQuery Ajax调用之间的区别的相关信息,请在本站查询。
本文标签: