如果我试图在textarea中发送Html数据代码失败。警告工作直到用户名数据正常,但ajax没有将我的数据发送到Php服务器。
var username=document.getElementById( "my_text" ).value;
if(username){
$.ajax({
type: 'post',
url: 'checkdata.php?username=username',
data: {
username:username,
},
success: function (response){
$( '#name_status' ).html(response);
if(response=="OK"){
return true;
}
else{
return false;
}
}
});
<textarea id="my_text" >
<html>
<head>
<title>Page Title</title>
</head>
<body>
<h1>My First Heading</h1>
<p>My first paragraph.</p>
</body>
</html>
</textarea>
答案 0 :(得分:0)
您的代码有几个地方可能会崩溃。如果您提供错误的控制台日志,这对我们来说将更容易帮助。
1)如果你尚未加载jQuery,那么$.ajax()
将不会被调用。您可能还需要执行$(document).ready();
以确保所有内容都已加载。
2)你正在textarea
内包装一个全新的DOM。我不确定这是否是复制/粘贴错误,但它会对结果产生奇怪的影响。
3)在您的回复之后,显然您实际上是在尝试将html发送到服务器..?来自控制台的错误代码表明还有很多其他问题。如果我们看不到任何东西,很难知道如何提供帮助。即PHP和其余的客户端代码。
3)由于您的 if
语句未包含在函数调用中,因此它将在运行时进行评估。因此代码在页面加载时运行,但之后不会触发它。这意味着username
始终为空。
如果你想解决这个问题,你需要一些东西来触发事件。您可以尝试:
<body>
<textarea id='my_text'></textarea>
<button id="submitButton">Submit</button>
</body>
let sub = document.getElementById('submitButton');
sub.addEventListener('click', function(){
let username = document.getElementById('my_text').value;
if(username){
// Add Ajax Call Here
}
});
答案 1 :(得分:0)
Backup.html或php
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Text editor</title>
<link rel="stylesheet" type="text/css" href="style.css" />
<script type="text/javascript">
function view_text () {
var username=document.getElementById( "my_text" ).value;
console.log(username);
if(username){
$.ajax({
type: 'post',
url: 'checkdata.php',
data: {
username:username,
},
success: function (response){
$( '#name_status' ).html(response);
if(response=="OK"){
return true;
}
else{
return false;
}
}
});
}
else{
$( '#name_status' ).html("");
return false;
}
}
</script>
</head>
<body>
<input type="button" value="Execute >>" onclick="view_text()" class="button"/>
<textarea id="my_text" >
<html>
<head>
<title>Page Title</title>
</head>
<body>
<h1>My First Heading</h1>
<p>My first paragraph.</p>
</body>
</html>
</textarea>
<span id="name_status"></span>
</body>
</html>