我有这种形式的ajax调用:
$("#assignDesigner .save").click(function(event) {
event.preventDefault();
$.post("/cms/cms/php/update_di_user_designer_meta.php", $("#assignDesigner").serialize(), function(response) {
alert("Update " + (response ? "worked" : "failed"));
var data = {
promoted_header: $(".product-promotion .rightcol > h3").html(),
promoted_content: $(".product-promotion .rightcol > span").html(),
promoted_owner: $("#designerSelection").val()
};
$.post("/cms/cms/php/create_di_promoted_products.php", data, function(response_inner) {
$("section.product-promotion").replaceWith(response_inner);
})
})
});
我的 PHP 脚本如下所示:
<?php
function insertCode($param)
{
...many echos...
}
if (isset($_POST))
{
insertCode($_POST['param'])
}
?>
当通过 AJAX 调用时,该函数应在函数中获取 POST-Data insertCode
。当需要或包含该函数时,会使用不同的$param
.
问题是,当我发送我的 AJAX 请求时,该函数执行了两次。首先在评估 POST-Code 之前。因此,所有回显的文本都被两次发送回 AJAX-Success-Function。
然后我测试了回显的文本是否被发回,我用测试评论了下部,是的,即使这样,函数的代码也会被回显,尽管我从未调用过该函数。
如何防止 AJAX 调用帮助自己调用该函数?