jquery不会用post方法发送

时间:2011-12-12 08:08:44

标签: php javascript jquery

没有与$ .post一起发送任何内容

     function clicked()
 {
   var $contact_title=$("#contact_title");
   var $contact_summary=$("#bbcode");
   alert($contact_title.val());// How do I get the contents of the title
   alert($contact_summary.val());// How do I get the contents of the textarea
   $.post('jquery_send_admin.php',{ title:$contact_title, content:$contact_summary }, function(data){ alert("Message was sent") }, 'html');
 }

我在控制台错误中遇到异常,如下所示:

更新: 没有数据插入下一页..为什么?!?

     if( isset($_POST["title"]) && isset($_POST["content"]) )
  {
      $title=mysql_escape_string($_POST["title"]);
      $content=mysql_escape_string($_POST["content"]);

       $result=mysql_query("INSERT INTO users (query_title,query_message) VALUES(''$title', '$content')") or die(mysql_error());

   }

发生以下错误:

Error: uncaught exception: [Exception... "Could not convert JavaScript argument"  nsresult: "0x80570009 (NS_ERROR_XPC_BAD_CONVERT_JS)"  location: "JS frame :: http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js :: <TOP_LEVEL> :: line 16"  data: no]

更新: 这是我从页面请求的内容,由jquery触发:

    <?php
echo 'outside';
  if( isset($_POST["title"]) && isset($_POST["content"]) )
  {
      echo 'inside';
      $title=mysql_escape_string($_POST["title"]);
      $content=mysql_escape_string($_POST["content"]);

       $result=mysql_query("INSERT INTO users (query_title,query_message) VALUES(''$title', '$content')") or die(mysql_error());

   }

?>

6 个答案:

答案 0 :(得分:5)

您需要使用.val()方法提取值:

var $contact_title = $('#contact_title').val();
var $contact_summary = $('#bbcode').val();
var dataToPost = { title: $contact_title, content: $contact_summary };
$.post('jquery_send_admin.php', dataToPost, function(data) { 
    alert('Message was sent'); 
}, 'html');

答案 1 :(得分:1)

尝试获取值/文本而不仅仅是控件。

var $contact_title=$("#contact_title").text();

var $contact_title=$("#contact_title").val();

编辑:

不确定它在PHP中是如何工作的,但是我在vb.net中使用它,在那里我需要给出我的控制器名称(也就是文件)和功能,所以它变成了

$.post('myFile/myJSONFunction', {all-your-parameters});

所以也许这就是为什么它不会发布您的数据。 您可能想要查看的其他内容是您的php可能会返回与您实际期望他返回的数据不同的数据。

答案 2 :(得分:1)

 var $contact_title=$("#contact_title").text();
   var $contact_summary=$("#bbcode").text();

答案 3 :(得分:0)

function clicked() {
         var $contact_title = $("#contact_title");
         var $contact_summary = $("#bbcode");
         alert($contact_title.val()); // with the val
         alert($contact_summary.val()); // with the val
         $.post('jquery_send_admin.php', { title: $contact_title.val(), content: $contact_summary.val() }, function (data) { alert("Message was sent") }, 'html');
     }

答案 4 :(得分:0)

而不是@Darin发布的

$.post('jquery_send_admin.php', dataToPost, function(data) { 
    alert('Message was sent'); 
}, 'html');

使用此

$.post('jquery_send_admin.php', dataToPost, function(data) { 
    alert(data); 
});

这将在警告框中显示echo语句的结果,这可能有助于您调试问题。

答案 5 :(得分:0)

哦,我的。 jQuery错误,PHP调试错误。我可能会得到这个答案的低价...但有时候,如果你迷失了人们不得不帮助你过马路,那么简单地阅读手册是有帮助的:http://api.jquery.com/&amp; http://php.net/manual/