我有AJAX
调用调用PHP
文件中的函数并返回一些JSON
。它看起来像这样。
$('#uploadCustomerForm').on('submit', function(e) {
e.preventDefault();
$.ajax({
url: "/resources/submit.php?action=uploadCustomers",
type: "POST",
data: new FormData(this),
contentType: false,
cache: false,
processData: false,
success: function(data, textStatus, jqXHR) {
console.log(data.success);
},
error: function (data, textStatus, jqXHR) {
alert('Uh oh, we could not upload your customers.');
},
dataType: "json"
});
});
此AJAX
最终会调用此PHP
函数:
function uploadCustomers($file_name) {
// Now we just have to open and read
$myfile = fopen($file_name, "r") or die("Unable to open file.");
$columns = fgetcsv($myfile);
//$sortedColumns = sortColumns($columns); // works when this line is commented out
while(!feof($myfile)) {
$row = fgetcsv($myfile);
}
fclose($myfile);
return json_encode(array('success' => $row));
}
这是我第一次使用AJAX
上传文件。我知道执行正在使用正确的参数进入PHP
函数,因为我能够打开文件,并在函数工作时查看$row
。 (评论sortColumns
函数时。)
当我致电sortColumns
时,为了按照我们要查找的顺序获取CSV字段,该功能突然不再起作用了。现在,这是我的sortColumns
函数。
function sortColumns($columns) {
return $columns;
}
我哪里错了?我怀疑这是明显的事情,或者是我没有遵循的一些AJAX
规则。任何帮助将不胜感激。
答案 0 :(得分:0)
感谢@AndreaBogazzi将我指向日志文件的位置。
日志文件说我正在调用一个未定义的函数,事实证明,我需要调用函数:
$this->sortColumns($columns);