JS 代码:
$('#addResults').submit(function(e) {
var user1 = $("#user1").val();
user2 = $("#user2").val();
e.preventDefault();
$.ajax({
type: "POST",
async: false,
url: url,
data: "form=addResults&user1=" + user1 + "&user2=" + user2
}).success(function( msg ) {
$('.success').css("display", "");
$(".success").fadeIn(1000, "linear");
$('.success_text').fadeIn("slow");
$('.success_text').html(msg);
setTimeout(function(){location.reload()},1200);
});
});
提交.php
case 'addResults':
$positions = $_POST['positions'];
$ez->addResults($positions);
break;
function.php
function addResults($positions) {
$this->link->query("INSERT INTO `" . $this->prefix . "result` SET race_id = '$league', event = '$event', involved_id = '$involved',
evidence_link = '$evidence', description = '$description', reporter_id = '$name', status = '0'");
echo 'Results saved';
return;
}
我的问题:我想将所有用户数据存储到一个数组中,并将其推送到 PHP 函数,以便我可以将其插入到数据库中。
类似于:
var positions= $("#user1").val(), $("#user2").val();
我不确定如何格式化数据行。
data: "form=addResults&user1=" + user1 + "&user2=" + user2
最佳答案
在 PHP 中:
$string = "business_type,cafe|business_type_plural,cafes|sample_tag,couch|business_name,couch cafe";
$finalArray = array();
$asArr = explode( '|', $string );
foreach( $asArr as $val ){
$tmp = explode( '=', $val );
$finalArray[ $tmp[0] ] = $tmp[1];
}
print_r( $finalArray );
所以你的 JS 输出可能只是一个字符串:
data: "form=addResults&user1=" + user1 + "|user2=" + user2
关于javascript - 如何通过 Javascript 将数据作为数组发送到 PHP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47199547/