【问题标题】:jQuery - Ajax POST seems to does not workjQuery - Ajax POST 似乎不起作用
【发布时间】:2015-08-30 19:32:22
【问题描述】:

这是我的 HTML 代码:

<div class="form-horizontal row-border">
        <div class="form-group">
            <label class="col-md-2 control-label">Title:</label>
            <div class="col-md-10"><input class="form-control" id="title" name="title" type="text"></div>
        </div>
        <div class="form-group">
            <label class="col-md-2 control-label">Article:</label>
            <div class="col-md-10">
                <textarea name="editor1" id="editor" rows="10" cols="80">
                                Let's go...
                            </textarea>     
            </div>
        </div>                                  
        <div class="form-group">
            <label class="col-md-2 control-label">Tags:</label>
            <div class="col-md-10"><input class="tags" id="tags" type="text" value="">
            </div>
        </div>
        <div class="row" style="margin-left:92%;">
        <input type="button" id="PostArticle" class="btn btn-success" value="Post Article"></input>
        </div>
</div>

这是我的 JavaScript 代码:

<script type="text/javascript">     
        $("#PostArticle").click(function() {                    
            var title = $("#title").val();
            var text = $("#editor").text();
            var tags = $("#tags").val();

                $.ajax({
                    url: 'post_new_article.php',
                    type: 'POST',
                    data: {
                        title: title,
                        tags: tags,
                        text: text
                    },
                    dataType: 'json',
                    success: function (data) {                                  
                        noty({text: 'MySite.com:' + data.title + ' was successfully created!', type: 'success'});

                    },
                      error: function(XMLHttpRequest, textStatus, errorThrown) {
                        noty({text: 'Failure - The article was not created! Error is: ' + errorThrown + '', type: 'error'});
                      }
                });

        }); 
</script>

这是来自 post_new_article.php 的代码:

<?php

require "include/config.php";
require "include/functions.php";

ConnectWithMySQLDatabase();

error_reporting(E_ALL);
ini_set('display_errors', '1');

$title = $_POST['title'];
$text = $_POST['text'];
$tags = $_POST['tags'];
$month = date('F');
$year = date('Y');
$day = date('d');

if(isset($_POST['title']))  
{
    mysql_query("INSERT INTO `Blog` (`id`, `Title`, `Article`, `Autor`, `Date`, `Month`,`Year`, `Tags`, `Image`) VALUES ('', '$title', '$text', 'Venelin Vasilev', '$day','$month', '$year', '$tags', '')");
}

$result['title'][0] = $title;

echo json_encode($result);

从所有方面来看,似乎只有 MySQL 插入功能不起作用。我可以确认ConnectWithMySQLDatabase(); 函数正在按预期工作,并且该函数正在建立与 MySQL 的连接。

点击Post Article 按钮后,我似乎无法插入mysql 查询。我可以确认我收到了来自post_new_article.php 的回复,因为我收到了一条带有文章标题的通知作为回复。所以json好像读回了文章的标题。

那么你能帮我解决这个问题并让它将查询插入到 MySQL 数据库中吗?

提前致谢!

【问题讨论】:

  • 有没有考虑过调试,或者向mysql_error()询问详情?
  • 为什么你的id值是空字符串...这不是id你在数据库中的主键吗?
  • @mario 我不知道如何调试。你能给我任何调试指南的链接吗?谢谢。
  • 抱歉,您必须自己在 Google 上搜索“如何调试 PHP 代码”。

标签: javascript php jquery mysql json


【解决方案1】:

试试这个

在你的表单中submit 按钮应该是

<input type="submit" id="submit" class="btn btn-success" value="Post Article"></input>

而 AJAX 应该是

<script>
  $(function(){
      $( "#submit" ).click(function(event)
      {
         event.preventDefault();

        var title = $("#title").val();
         var text = $("#editor").text();
         var tags = $("#tags").val();


         $.ajax(
             {
               type:"post",
               dataType: 'json',
               url: "./post_new_article.php",
               data:{ title:title, text:text,tags:tags},
               success:function(data)
               {

               }
            });
      });
  });
</script>

编辑 01

改变这个

mysql_query("INSERT INTO Blog (id, Title, Article, Autor, Date, Month,Year, Tags, Image) VALUES ('', '$title', '$text', 'Venelin Vasilev', '$day','$month', '$year', '$tags', '')");

【讨论】:

    猜你喜欢
    • 2023-03-27
    • 2016-01-10
    • 1970-01-01
    • 2015-08-26
    • 1970-01-01
    • 1970-01-01
    • 2016-04-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多