通过Ajax发送数据、类和方法
Sending data, Class, and Method through Ajax
如何通过ajax将数据发送到另一个PHP类中的特定方法?在url
值中,我指向了类文件,但在哪里可以分配要使用的方法名?
$.ajax({
type:'POST',
url:'ResortController.php',
data: vidData,
cache:false,
contentType: false,
processData: false,
success:function(data){
console.log("success");
console.log(vidData);
//window.location.reload();
},
error: function(data){
console.log("error");
}
});
在data:vidData
中传递数据,并在调用控制器后指定您的函数名。
url = BASE_PATH + 'ResortController/FUNCTION_NAME';
vidData = {id: 123, vidName: "testVideo"};
$.ajax({
type:'POST',
url:url,
data: vidData,
cache:false,
contentType: false,
processData: false,
success:function(data){
console.log("success");
console.log(data);
//window.location.reload();
},
error: function(data){
console.log("error");
}
});
在函数中使用$_POST
,您将在$_POST['vidData']
中获得ajax数据。
此外,您还需要调用data
而不是vidData
变量,以获得ajax console.log(data)
的成功。
您需要有一个服务器端机制来处理如何引导请求。假设您发送请求的url只有类声明。。。您需要某种调度器,否则php不知道该做什么:
jQuery:
$.ajax({
type:'POST',
url:'/dispatcher.php',
data: {
"data":vidData,
"class":"ResortController",
"method":"rMethod"
},
cache:false,
success:function(data){
console.log("success");
console.log(vidData);
//window.location.reload();
},
error: function(data){
console.log("error");
}
});
/dispatcher.php
<?php
// This is dangerous if you have no controls in place to allow/restrict
// a program to run a command
// Anyone could send a cURL request and run an automated class/method through
// this mechanism unless you have some way to restrict that
if(!empty($_POST['class']) && !empty($_POST['method'])) {
// Here you want to have some way to check that a request is valid and not
// made from some outside source to run arbitrary commands
// I will pretend you have an admin identifier function....
if(is_admin()) {
call_user_func_array(array($_POST['class'],$_POST['method']),array('data'=>$_POST['data']));
}
}
相关文章:
- 序列化数据属性中对象的最可靠方法
- 有没有一种方法可以仅使用HTML/CSS来隐藏基于特定值的数据单元格
- 如何在从客户端接收数据时从本机方法触发javascript函数?
- 我们可以用参数对象集合而不是原始数据来调用JavaScript collection.reduce()方法吗
- 在put方法之前从作用域获取数据
- 使用ReactJS和Flux架构从服务器获取数据的正确方法是什么
- 有没有一种方法可以使用Javascript检索谷歌表单ITSELF(而不是电子表格)的数据
- 有没有一种简单的方法可以用Lodash映射嵌套数据
- 数据属性有没有更干净的方法
- 将数据从promise then方法传递到对象方法
- 有没有更好的方法可以测量从Ajax调用返回数据所需的总时间
- 从javascript调用codeigniter方法并传递数据
- 重置transform:rotate(),方法是移除并追加在追加和重绘图表后未显示数据的画布
- RTCDataChannel发送方法未发送数据
- E4X中是否有一种方法可以将基元数据类型的XMLList转换为类似于Array.join()的Array
- 使用Ajax Get方法将数据显示到特定元素中
- JQuery$.ajax()发布数据以调用我的控制器中的方法
- 在d3.json中使用d3.csv组合多个csv文件数据输入的最佳方法是什么
- 在jquery mobile中,post方法数据发送不正确
- Mootools存储方法:数据存储在哪里