2015-11-21 149 views
0

我有一个名为post-blog.php的页面,在这里我设置了一个博客条目。我将所有这些数据保存到一个变量中。它将数据显示在一个数组中。发送数据ajax

var data = title + content + image + datetime + categories; 

我如何将此数据发送到另一个叫做页面publish.php和用户重定向到该网页? 我试图设置一个ajax来做到这一点,但它不工作。有什么建议么 ?

$.ajax({ 
     type: 'POST', 
     cache: false, 
     url:  'publish.php', 
     data:  data, 
     success: function(data) { 

      alert (data); 

     } 

     }); 

     return false; 

    }); 
+0

您可以添加更多关于您想要的结果的详细信息吗? – Thaillie

+0

正确我有一个变量叫做数据,它保存着信息,当用户点击按钮时,我希望var数据(暂时保存)并发送到publish.php,但我也希望它将用户发送到该页面自动。在该页面上,我只想提醒(数据)并在var数据中显示信息 –

+0

对您有帮助吗?感谢您的回复 –

回答

-1

我假设你所有的变量都是字符串。如果它们不是,例如datetime可能是一个对象,那么首先将它们改为一个字符串。

Docs说Object must be Key/Value pairs或字符串。

对象为这项工作做得很好,你可以试试:

var data = {title: title, content: content, image: image, datetime: datetime, categories: categories}; 

如果你的数据从一个表单来看看jQuery's serialize

我从来没有尝试过在POST中作为字符串传递,但我的直觉是它需要采用类似于通过url传递数据的格式。

var data = 'title=' + title + '&content=' + content; 

还要记住在成功功能data是不一样的被传递到PHP页面的内容。这是PHP页面将返回的内容。如果您是php页面,则返回任何内容,但您的警报将为空。当我正在测试时,我喜欢在PHP文件中加入类似echo $_POST['title'];的内容,以查看返回的内容。

Here is a similar question也可能有帮助。

+0

from your link,'data' accept PlainObject or String or Array ... –

+0

更新了响应;我知道文档说它接受一个字符串,但我作为一个对象总是有更好的运气。 – Deplicator

0

根据我对问题的理解,您需要将数据传递到新页面并打开该页面。

如果这是你的问题,那么这可以做到没有AJAX,基本上AJAX甚至不提供解决方案在这里。相反,你可以通过所有的数据到新的页面中,如下所示的查询格式 -

var page = 'publish.php?title='+title+ '&content='+content+'&image='+image+ '&datetime='+datetime+'&categories='+categories; 

然后,只需改变窗口的位置,如下

window.location.href = page;

并获得所有这些变量在PHP文件,请在publish.php之上 -

if($_GET['title']) 
{ 
    $title = $_GET['title']; 
} 
// similarly get all the data in publish.php file and continue with your page 
+0

这正是我正在寻找的,对不起,我是新的,并没有reaslise你需要ajax。 –

+0

我收到一个错误 - 未捕获的SyntaxError:意外的标识符通过var页面? –

+0

你能否在这里粘贴你的'data'内容..和完整的错误? – Chandan