为什么我得到数组如何获取字符串
Why am I getting array how to get string
如果我有带有id leavepost
和隐藏的div id display
的文本区域在 # 之后,我得到了隐藏的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 为字符串, 给定数组
.match()
返回匹配测试的数组。
// 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"
你在这个代码中使用var name = $(this).val().match(/(^|'s)(#[a-z'd-]+)/ig);
String.prototype.match(),这个方法返回:
包含整个匹配结果和任何匹配结果的数组 括号捕获的匹配结果,如果没有,则为 null 比赛。
所以你需要像处理数组一样在 php 代码中使用$_POST['su'];
变量
这是因为JavaScript match
函数返回一个数组。
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/match
您需要从该数组中提取name
部分。 console.log(name)
将为您提供数组的结构。
相关文章:
- 子字符串/正则表达式以获取字符串中保存的 SRC 值
- 如何从键Code;中获取字符串/字符值;
- 从输入中获取字符串,并在AngularJS中发出AJAX请求
- 从 url 获取字符串值
- 从Javascript函数获取字符串
- Javascript:获取字符串形式的对象名称
- 获取字符串中与正则表达式匹配的所有子字符串
- 获取字符串中的匹配项数组作为索引
- 我可以从类型编号中获取字符串值吗?
- 为什么我得到数组如何获取字符串
- 在 Javascript 中获取字符串中的最后一个符号时值错误
- 如何获取字符串中重复的字母
- 获取字符串中最后一个换行符的最有效方法是什么
- JQuery获取字符串的一部分
- 单击另一个锚点标记时,从锚点标记获取字符串值
- 如何从视频标记错误事件中获取字符串/消息或代码
- 如何获取字符串中元音的总数
- 从子字符串之后的字符串中获取字符串
- 从字符串原型javascript获取字符串值
- 通过 JavaScript 获取字符串中第二个空格之前和之后的子字符串