2011-12-08 99 views
1

我正在制作一个博客应用程序,并且我想提供一个保存按钮,它将通过Ajax调用更新数据库的更改。只要我保存了以前创建的博客,这没什么问题,但是当我第一次创建博客时,我遇到了问题。更改AJAX调用网址

的问题是,对于任何新的博客我也有同样的网址是

blogs/new/ 

但是但是对于已经被创建我有这样

blogs/1/my-first-blog/ 
一个URL编辑或发布博客

这里1是作者id,第二个字段是slug值。当我通过发布或预览按钮保存此表单时,我使用这些值。我想要做的是以某种方式设置这些值,当我进行保存AJAX调用。这样当用户按下发布时,博客已经保存在数据库中,并且这些变量被发送到视图并且它可以正常工作。

回答

2

好吧,为了AJAX调用完成后更改URL,你会设置:

window.location = '/blogs/1/my-first-blog/';

然而,也许AJAX不是处理此请求的最佳选择。如果你只是在请求完成后重定向到一个新页面,为什么你使用AJAX?

如果请求成功,那么在没有AJAX的情况下提交表单并为新页面发送重定向头部将是更为标准的做法。

1

将创建的博客的作者id,slug值和文本传递给Web服务或webmethod,然后创建文件夹并将博客数据保存在服务中。

然后你可以编辑你想要传递给window.location的字符串。

var id = "userid945"; 
var slugvalue = "foo"; 

var url = "/blogs/" + id + "/"+slugvalue+"-first-blog/ 

window.location = url;