我试图通过点击按钮将JS数组发送到.php文件,并使用发送的数组在点击上运行php文件的代码。
我有一个按钮:
public class Mesa {
Principal ctx;
public ToastMsg toast;
......
public Mesa (Context ctx, int numeroJugadores, int numBarajas, int numCartasRepartir)
{
if (numeroJugadores < 2 || numeroJugadores > NUMERO_MAX_DE_JUGADORES)
throw new Error ("Número de jugadores no válido.");
this.ctx = (Principal) ctx;
toast = new ToastMsg(ctx.getApplicationContext());
....
}}
我尝试使用以下命令运行此JS ajax:
<button id="submit" class="button1" >Submit<span></span></button>
在我的submit.php文件中,我连接到数据库,然后输入:
$('#submit').click(function() {
$.ajax({
method: "POST",
url: "submit.php",
data: selectedImageArray
}).done(function( msg ) {
alert( "Data Saved: " + msg );
});
});
当我点击&#34;提交&#34;按钮,我收到消息说&#34;数据保存&#34;,但我的数据库没有发生任何事情。应该单击按钮运行submit.php代码吗?
答案 0 :(得分:0)
您的JS语法错误。另外,由于#submit
是ID,因此不需要使用button
进行限定。
您的代码应为:
$('#submit').click(function() {
$.ajax({
method: "POST",
url: "submit.php",
data: selectedImageArray
}).done(function( msg ) {
alert( "Data Saved: " + msg );
});
});
修改1:
我看到您已将上述代码合并到JS中。现在讨论服务器端的问题(PHP / SQL)。
首先,为什么要解码$_POST[selectedImageArray]
然后重新编码呢?对我没有意义。
其次,$steamprofile['steamid']
的价值是什么?
第三,SQL表的架构是什么?你确定你没有违反任何unique / not null / fk约束吗?
帮自己一个忙,并在服务器端使用调试/日志记录解决方案。它可以像将调试行打印到日志文件中一样简单,以便稍后检查以查明发生的情况。
我要做什么:
$_POST[selectedImageArray]
的值。它应该是一个字符串。$array
的值。它应该是一个数组。$sql->execute();
返回bool
(成功时为TRUE)。在脚本中使用它可以返回成功或失败消息。$sql->errorCode();
的值。综上所述,你应该有足够的麻烦解决那里出了问题。
答案 1 :(得分:0)
$('#submit').click(function(){
$.ajax({
method: "POST",
url: "submit.php",
data: {selectedImageArray: selectedImageArray}, // this is supposed to be JSON
.done(function( msg ) {
alert( "Data Saved: " + msg );
});
});
});
和
$_POST['selectedImageArray'] // see the quotes
答案 2 :(得分:0)
我认为steam_id
是具有自动增量的主键,因此如果您尝试向steam_id
使用相同值的数据库插入行,那么您的数据可能不会加入。
要以更好的方式进行调试,请尝试在服务器中生成查询并回显它。然后尝试在MySQL控制台中运行相同的查询以查找响应。