Javascript 无法使用jQuery AJAX函数将包含字符串内容的jQuery变量发送到PHP?
jQuery函数的代码段如下所示:Javascript 无法使用jQuery AJAX函数将包含字符串内容的jQuery变量发送到PHP?,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,jQuery函数的代码段如下所示: function addMessage() { if (textval != "") { text_string='<div class="alert-box round"><p class="text-left">' + userName + ':' + textval + '</p></div></br>'; alert(text_string);
function addMessage() {
if (textval != "") {
text_string='<div class="alert-box round"><p class="text-left">' + userName + ':' + textval + '</p></div></br>';
alert(text_string);
$.ajax({
type:"POST",
url:"process.php",
data: {'text_string': text_string},
cache:false,
success:function(){
alert("submitted")
}
});
$("input[type=text]:last").val("");
}
enterButton = 0;
}
<body>
<?php
//$host = "localhost";
$text_string=$_POST['text_string'];
echo "string submitted is".$text_string;
?>
</body>
函数addMessage(){
如果(textval!=“”){
text_string=''+userName+:'+textval+'
';
警报(文本字符串);
$.ajax({
类型:“POST”,
url:“process.php”,
数据:{'text\u string':text\u string},
cache:false,
成功:函数(){
警报(“已提交”)
}
});
$(“输入[类型=文本]:最后一次”).val(“”);
}
enterButton=0;
}
process.php代码如下所示:
function addMessage() {
if (textval != "") {
text_string='<div class="alert-box round"><p class="text-left">' + userName + ':' + textval + '</p></div></br>';
alert(text_string);
$.ajax({
type:"POST",
url:"process.php",
data: {'text_string': text_string},
cache:false,
success:function(){
alert("submitted")
}
});
$("input[type=text]:last").val("");
}
enterButton = 0;
}
<body>
<?php
//$host = "localhost";
$text_string=$_POST['text_string'];
echo "string submitted is".$text_string;
?>
</body>
我收到的警报显示文本字符串的值,然后是“已提交”,但当我打开php页面时,它显示一个错误:
未定义索引:文本\字符串
我看到了各种各样的答案,似乎没有一个是我的答案。问题出在PHP代码或jQuery代码中,还是两者都有?如果希望在下次加载“process.PHP”时保存AJAX请求传递的值,请尝试在会话中保存它。因此,您可以将代码更改为:
<?php
session_start();
// Store value in session if it is passed
if (isset($_POST['text_string'])){
$_SESSION['text_string'] = $_POST['text_string'];
}
// Read and echo value from session if it is set
else if (isset($_SESSION['text_string'])){
$text_string=$_SESSION['text_string'];
echo "string submitted is".$text_string;
}
?>
现在,您的PHP脚本将在会话中存储传递的值,并在您将页面加载到其他位置时回显存储的值。(另一种选择是将值存储在数据库中……尽管我不确定您目前是否设置了一个数据库。)
希望这有帮助!如果您有任何问题,请告诉我。看起来不错,您在网络中的帖子和标题中看到了什么请尝试删除
'text\u string'
中的引号,并将其命名为类似此字符串的其他名称。然后将PHP中的$\u POST
更改为$\u POST['this\u string']
如何打开PHP页面以获取未定义的索引:text\u string
?使用此字符串时没有错误更改。您可以读取它,但需要传递它。如果您直接在浏览器上打开“process.php”,您将得到该错误,因为您没有在任何地方传递文本字符串。如果您打开“process.php?text\u string=value”,您将传递变量,但是您仍然会得到该错误,因为您正在读取$\u POST,但通过$\u GETYup传递它,这是有效的!这意味着它正在发送值。@Alvarontoro这就是你的建议吗?我还计划在未来使用数据库耶!代码中的一切都很好——只是,您无法存储在页面加载之间传递的值。这是你想要的吗?是的,我想检查数据是否正在发送。请检查我的另一个查询的问题评论线程。