【问题标题】:Ajax with data doesn't work but it is success带有数据的 Ajax 不起作用,但它是成功的
【发布时间】:2018-04-21 08:48:21
【问题描述】:

我有这个代码:

$.ajax({
    type: "POST",
    cache: false,
    url: "podpurne/genre_function.php",
    data: {
        pridej: pridej,
        identificator: identificator,
        genreS: genreS
    },
    success: function(data) {
        alert("ok");
    }
});

pridej、identificator 和genreS 都有一些想法。

podpurne/genre_function.php 有代码:

include"../pripojeni.php";
echo("<script>alert('ola');</script>");
if($_POST['pridej']){
    $db->query("INSERT INTO zanr_anime(identificator, zanr) VALUES 
    ('".$_POST['identificator']."','".$_POST['genreS']."'");
}

所以如果我调用 Ajax,它会给我 OK 的成功警报。但是在genre_function.php 中没有发生任何事情,但是如果我输入URLgenre_function.php 给我ola 警报。

任何想法为什么genre_function.php 不向我显示带有ajax 的ola?

【问题讨论】:

标签: javascript php jquery sql ajax


【解决方案1】:

使用序列化。在表单中输入 ID 即可调用它。

var data = $("#form-name").serialize();

$.ajax({
type: "POST",
cache: false,
url: "podpurne/genre_function.php",
data: data,
success: function(data) {
    alert(data);
}
});

【讨论】:

  • 您应该添加建议以从 echo 语句中删除脚本标签
【解决方案2】:

当您执行 AJAX 请求时。只需从 PHP 文件中执行 echo 即可。并在成功函数中执行alert

podpurne/genre_function.php

include "../pripojeni.php";
echo('ola');
if($_POST['pridej']){
    $db->query("INSERT INTO zanr_anime(identificator, zanr) VALUES 
    ('".$_POST['identificator']."','".$_POST['genreS']."'");
}

ajax 代码:

$.ajax({
    type: "POST",
    cache: false,
    url: "podpurne/genre_function.php",
    data: {
        pridej: pridej,
        identificator: identificator,
        genreS: genreS
    },
    success: function(data) {
        alert(data);
    }
});

还可以使用准备好的语句来避免 SQL 注入。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-17
    • 2013-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-11
    • 2015-11-10
    相关资源
    最近更新 更多