【发布时间】:2015-06-22 22:44:34
【问题描述】:
我有一个将一些数据提交到我的 PHP 文件的 ajax 函数。在我的 PHP 文件中,我对它对这些数据进行了一些检查,然后我尝试发出警报以提出要说的话。不过,我无法收到任何警报。所有发生的事情都在控制台->网络->提交.php->响应中显示应该发出警报的javascript。
这是我的 Ajax,我知道它可以工作:
$('#submit').click(function() {
if(selectedImageArray.length <= 10){
$.ajax({
method: "POST",
url: "submit.php",
data: {selectedImageArray: selectedImageArray}
}).done(function( msg ) {
//alert( "Data Saved: " + selectedImageArray );
}); }else{
alert( "You can only trade up to 10 items at once." );
}
});
然后在 submit.php 中我做了一些检查,得到了这个:
if($QueueCount == 1){
Echo '<script language="javascript">';
Echo 'alert( "You already have an active trade, check your Steam profile.");';
echo '</script>';
}else{
Echo '<script language="javascript">';
Echo 'alert("You are currently in the trade Queue, you should receive a trade request soon.");';
echo '</script>';
}
这应该会发出警报,但它只是将<script language="javascript">alert( "You already have an active trade, check your Steam profile.");</script> 输出到网络选项卡中,就像我说的那样。
如何使这项工作从 PHP 文件中弹出警报?
【问题讨论】:
-
您应该只返回文本字符串并在您的成功函数中处理警报,就像您现在拥有的注释掉的行一样。
msg包含您的 javascript 块,但如果您不对其执行任何操作,则不会发生任何事情。 -
ajax 调用返回文本。就这样。你只是得到一些文本(恰好是 javascript),它会一直保持文本,直到你把那个文本放在某个地方使它变得可执行 - 例如,将该文本作为一个实际的 DOM
<script>节点插入到你的文档中。
标签: javascript php jquery ajax