下面您可以看到html代碼,javascript/jquery和PHP。我試圖發送使用AJAX PHP,請求多變量發送到PHP,其中之一是FORMDATA,另一個是從投入等jQuery AJAX將多個變量傳遞給數據
這裏是一些文本或值的HTML代碼:
<div>
<p>Name:</p>
<input id="newP_name"></input>
<p>Product Image</p>
<input type="file" id="img"></input>
<p>Description:</p>
<textarea id="newP_desc"></textarea>
<button name="submitProductBtn" id="submitProductBtn">Submit</button>
這裏是我的javascript:
$("#submitProductBtn").click(function(){
var file_data = $('#img').prop('files')[0];
var form_data = new FormData();
form_data.append('file', file_data);
$.ajax({
url: 'imgParser.php',
dataType: 'text',
cache: false,
contentType: false,
processData: false,
data: form_data, name: "John",
type: 'POST',
success: function (response) {
alert(response);
},
error: function (response) {
alert("ERROR OCCURED");
}
});
});
正如你可以看到我想要傳遞給「數據:」在FORMDATA(圖像)和第二變量名。
這裏是PHP代碼:
<?php
if(isset($_FILES["file"]["name"])){
if($_FILES["file"]["error"] == 0){
move_uploaded_file($_FILES["file"]["tmp_name"], "images/".$_FILES["file"]["name"]);
echo $_POST["name"];
}else{
echo $_POST["name"];
}
}
?>
我希望它打印 「約翰」,但警報是空白,圖像顯示 - >
任何幫助表示讚賞, 謝謝提前。
編輯:
改變略微jQuery代碼,仍然輸出空的,但是,當我有代碼在PHP註釋(下面的結束標記),它打印它。
這裏是我的新的jQuery代碼:
$("#submitProductBtn").click(function(){
var file_data = $('#img').prop('files')[0];
var form_data = new FormData();
form_data.append('file', file_data);
form_data.append('name', "John");
$.ajax({
url: 'imgParser.php',
dataType: 'text',
cache: false,
contentType: false,
processData: false,
data: form_data,
type: 'POST',
success: function (response) {
alert(response);
},
error: function (response) {
alert("ERROR OCCURED");
}
});
});
是您在表單中發佈的HTML嗎? – Musa
請用[alert()'來排除故障。](http://stravid.com/en/stop-the-javascript-alert-madness/),請改用'console.log()'。 –
@Musa沒有html不是它的形式,因爲它顯示,沒有其他東西是圍繞該div –