我有这段ajax
代码,可以将表单数据发送到名为 upload.php
php
文件中
我的问题是:我可以毫无问题地传递表单数据,但是我i cannot pass another data with it
。每当我这样做时,ajax
都不会将数据粘贴到upload.php
这是我的ajax
:
function upload(fileid, imgno) {
$(document).ready(function () {
var data = new FormData();
jQuery.each(jQuery('#' + fileid)[0].files, function (i, file) {
data.append('file-' + i, file);
});
$.ajax({
url: 'includes/upload.php',
dataType: 'text', // what to expect back from the PHP script, if anything
cache: false,
contentType: false,
processData: false,
data: {
data: data,
imgno: imgno
},
type: 'post',
success: function (php_script_response) {
alert(php_script_response); // display response from the PHP script, if any
}
});
});
}
是我的upload.php
if (isset($_FILES['file0'])) { //it doesn't pass this condition
echo 'B';
}
$imageNO = $_POST['imgno']; //this gives undefined index.
如何解决此问题?
答案 0 :(得分:0)
您可以将任何其他字段附加到formData对象,如下所示:
formData.append(name, value);
然后使用ajax将其发送到服务器端:
data: formData,
然后使用$_POST['']
或$_GET['']
在服务器端获取
答案 1 :(得分:0)
您正在通过ajax发送“ file-0”,但是在条件(PHP)中,您正在检查“ file0”。运行网络监视器,查看浏览器真正发送的内容。