将php文件与AJAX结合使用的最佳实践
Best practice for using php file with AJAX
我开始使用php进行web开发,并测试jQuery对php文件的ajax调用以运行函数。但我注意到,每次使用AJAX POST方法调用php文件时,它都会加载到资源中。防止这种情况发生的最佳解决方案是什么?此外,当从php中的单个文件执行多个函数调用(我习惯于在c#世界中调用web服务或web方法)时,是否有更好的编码实践可供使用?
test.php
<?php
if($_POST['action']=='test'){
$arr = array(
'stack'=>'overflow',
'key'=>'value'
);
echo json_encode($arr);
}
?>
scripts.js
function postTest(){
var data = {
action: 'test'
};
$.ajax({
type: "POST",
url: "test.php",
dataType: 'json',
data: data,
success: function(result){
console.log(result)
}
});
}
更新:我更改了代码,将数据变量用作ajax调用中的对象。然而,最初的问题仍然存在。如何在php文件中使用函数,而不将其加载到每次ajax调用的浏览器中的站点资源中?
谢谢。
如果您注意到php块从未被执行,那么您传递的数据是错误的。试试这个:
function postTest(){
var data = {
'action': 'test'
};
$.ajax({
type: "POST",
url: "test.php",
dataType: 'json',
data: data,
success: function(result){
console.log(result)
}
});
}
JSON.stringify对您不利。
为了演示这一点,您可以将print_r($_POST)
放在php脚本中,看看console.log(result)
能为您提供什么。
要解决此问题,您可以简单地将数据放入$.ajax()
块:
function postTest(){
$.ajax({
type: "POST",
url: "test.php",
dataType: 'json',
data: {
action: 'test'
},
success: function(result){
console.log(result)
}
});
}
相关文章:
- javascript结合了数组和字典
- 将Firebase与Electron结合使用
- 结合jQuery和jetpack无限滚动
- 在localhost Dev Box上测试JSONP请求的最佳方式
- 有条件更新d3.js力图中节点的最佳方法
- 将Angular js与taglib结合使用
- 将图像上传ajax与表单提交ajax相结合
- 为react组件传递道具的最佳方式
- 与运行长作业(javascript,node.js)的第三方API同步的最佳实践
- 让Webpack管理Quirky AMD定义的最佳方式
- 在承诺链中处理早期回报的最佳方式
- 将jQuery.ech()方法转换为本地JavaScript抽象的最佳方法是什么
- Angularjs 1.5.x本地化最佳实践
- 处理浮点错误的最佳方法是什么
- javascript导入的最佳实践是什么
- MobileFirst:在客户端运行计时器作业-最佳选项
- 将php文件与AJAX结合使用的最佳实践
- 结合外部JavaScript最佳实践
- 如果您想将所有PHP函数与jQuery (Ajax)结合使用并获得响应,那么将它们放在单独的文件中是最佳实践吗?
- 结合AngularJS和Twitter Bootstrap的最佳方式