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);
});
});
submit.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
答案 0 :(得分:0)
:
$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
答案 1 :(得分:0)
您通过ajax传递的数据似乎是您要发送数据的网址。如果您想通过网址传递数据,则应使用GET方法而不是POST。
此外,您不会在函数中使用传递给$position
的{{1}}参数,这很奇怪。