Javascript 提交为空或提交的json解码失败。如何在表单中提交textarea
现在我得到了这个错误:“警告:json_decode()希望参数1是字符串,数组在第31行的/var/www/my_-website/challenge/ajax.php中给出Javascript 提交为空或提交的json解码失败。如何在表单中提交textarea,javascript,jquery,ajax,Javascript,Jquery,Ajax,现在我得到了这个错误:“警告:json_decode()希望参数1是字符串,数组在第31行的/var/www/my_-website/challenge/ajax.php中给出 提交为空或提交的json解码失败“ 为什么在我执行JSON.stringify将其转换为字符串时,它会说给定了一个数组?将提交按钮更改为type=“button”,这样它就不会提交表单,它只是运行您的函数 在AJAX调用中,使用JSON.stringify()将textarea的值转换为JSON 函数getText()
提交为空或提交的json解码失败“
为什么在我执行JSON.stringify将其转换为字符串时,它会说给定了一个数组?将提交按钮更改为
type=“button”
,这样它就不会提交表单,它只是运行您的函数
在AJAX调用中,使用JSON.stringify()
将textarea的值转换为JSON
函数getText(){
$.ajax('ajax.php?提交=%7B%7D'{
数据:{
提交:JSON.stringify($('#text1').val())
},
成功:功能(数据){
成功回调(数据);
console.log(“成功”+数据);
},
错误:函数(xhr、状态、错误){
警报(错误);
},
类型:“POST”
})
}
在下面输入SQL查询:
您没有在AJAX请求中发送$(“#text1”).val()
。#blogsmit
应该是#text1
。您还需要防止默认表单提交。您发送了两次:一次是通过AJAX,然后是通过正常提交。错误消息还表明它希望参数采用JSON格式,但$。AJAX
发送URL编码格式。@Barmar谢谢您,先生。针对您的第三条评论,我希望提交ajax,对吗?如何防止默认表单提交并使用ajax oneBetter运行
和事件的onsubmit
。preventDefault()。有些浏览器在按Enter键时提交,只有在有提交按钮时才会提交。
<p><h3>Enter your SQL query below:</h3>
<form method="post" action="http://212.47.247.139/challenge/ajax.php?submission=%7B%7D" id="my-form">
<textarea id='text1' class='sql' name='submission' rows=10 cols=120></textarea>
<input type="submit" id="blogSubmit" onclick="getText()">
<br>
</form>
</p>
<script>
function getText() {
// var str=document.getElementById("text1").value;
// alert(str + "i did it");
$.ajax('ajax.php?submission=%7B%7D', {
data: {submission: $('#text1').val()},
success: function(data) {
success_callback(data);
console.log("success " + data);
},
error: function(xhr, status, error) {
alert(error);
},
type: 'POST'
})
}
</script>
<p><h3>Enter your SQL query below:</h3>
<form method="post" action="http://212.47.247.139/challenge/ajax.php?submission=%7B%7D" id="my-form">
<textarea id='text1' class='sql' name='submission' rows=10 cols=120></textarea>
<input type="button" id="blogSubmit" onclick="getText()">
<br>
</form>
</p>
<script>
function getText() {
// var str=document.getElementById("text1").value;
// alert(str + "i did it");
$.ajax('ajax.php?submission=%7B%7D', {
data: {submission: { prop: JSON.stringify($("#text1").val())}},
success: function(data) {
success_callback(data);
console.log("success " + data);
},
error: function(xhr, status, error) {
alert(error);
},
type: 'POST'
})
}
</script>