如果我的文字区域包含id leavepost
且隐藏的div id display
#我在隐藏的div中输入隐藏的div和单词
但是,当我想通过ajax将它发送到sul文件时,它会发送数组。
有什么问题?
$("#leavepost").keypress(function(event) {
var key = (event.keyCode ? event.keyCode : event.which);
if (key == 35) {
$('#display').show();
$('#leavepost').on('keyup', function() {
var name = $(this).val().match(/(^|\s)(#[a-z\d-]+)/ig);
$.ajax({
type: "POST",
url: "d/sul.php",
data: { su: name },
success: function(sss)
{
$('#display').html(sss);
}
});
}).keyup();
}
});
在sul.php里面,我有:
echo $_POST['su'];
$u = mysqli_real_escape_string($con, $_POST['su']);
错误:
警告:mysqli_real_escape_string()期望参数2为字符串, 数组给出
答案 0 :(得分:0)
// for example:
"xzxzxz".match(/z/gi) // => [z,z,z]
"xzxzxz".match(/z/gi)[0] // => "z"
返回一系列匹配测试。
.match(/(^|\s)(#[a-z\d-]+)/ig)[0]
使用.match(/(^|\s)(#[a-z\d-]+)/ig).join(",")
获得第一场比赛。
或者您可以// for example
"xzxzxz".match(/z/gi).join(",") // => "z,z,z"
"xzxzxz".match(/z/gi).join("") // => "zzz"
以字符串形式发送所有测试匹配。
load()
答案 1 :(得分:0)
您在此代码var name = $(this).val().match(/(^|\s)(#[a-z\d-]+)/ig);
String.prototype.match()中使用此方法返回:
包含整个匹配结果的数组 括号捕获的匹配结果,如果没有,则返回null 匹配。
所以你需要在php代码中使用$_POST['su'];
变量和数组
答案 2 :(得分:0)
这是因为JavaScript match
函数返回一个数组。
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/match
您需要从该数组中提取name
部分。 console.log(name)
将为您提供数组的结构。