使用ajax多输入发送数据

时间:2017-08-23 07:29:59

标签: php sql ajax

我尝试使用带有多输入数据的AJAX INSERT INTODatabase,但是当我发送多个Input数据时,我遇到了一些问题。我错过了什么吗?

这个 JS 文件
JAVASCRIPT

function ajaxSaveTitle() {
'use strict';

var vTitle = document.getElementById('inputTitle').value;
var vPrice = document.getElementById('inputPrice').value;

var vTitlev = "vTitlev=" + vTitle;
var vPricev = "vPricev=" + vPrice;
var tXhr = new XMLHttpRequest();
tXhr.onreadystatechange = function() {
    if(this.readyState == 4 && this.status == 200) {
        document.getElementById('linputTitle').innerHTML = this.responseText;
    }
};
tXhr.open("POST","uploadfile.php","true");
tXhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
tXhr.send(vTitlev,vPricev);}

这是PHP档案
PHP

<?php
session_start();
include_once('connect.php');
$currID = $_SESSION['user_id'][0];
if(!empty($_POST['vTitlev']) && !empty($_POST['vPricev']))  {

$fileTitle = $_POST['vTitlev'];
$fileTitle = stripslashes($fileTitle);
$fileTitle = mysqli_real_escape_string($con, $fileTitle);

$filePrice = $_POST['vPricev'];
$filePrice = stripslashes($filePrice);
$filePrice = mysqli_real_escape_string($con, $filePrice);

$qfileTitle = "INSERT INTO file (usr_ID, fileName, prc) VALUES 
('$currID','$fileTitle','$filePrice')";
if(mysqli_query($con, $qfileTitle)) {
    echo "Berhasil di Simpan";
} else {
    echo("Error description: " . mysqli_error($con));
};
mysqli_close($con);}
?>

3 个答案:

答案 0 :(得分:1)

您必须使用&

发送更多数据

更改您的发送代码

tXhr.send(vTitlev,vPricev);}

tXhr.send(vTitlev+"&"+vPricev);}

答案 1 :(得分:1)

你应该使用这样的发送:

tXhr.send(vTitlev+'&'+vPricev);

它接受一个字符串作为参数:https://www.w3schools.com/xml/ajax_xmlhttprequest_send.asp

答案 2 :(得分:1)

如果是发布请求,您的数据应与“&amp;”绑定。逗号无效,因为send只接受一个参数。

看看这个https://www.w3schools.com/xml/ajax_xmlhttprequest_send.asp

数据应该是这样的

 xhttp.send("fname=Henry&lname=Ford"); 

不是这个

 xhttp.send("fname=Henry,lname=Ford");