使用xmlrpc和jQuery创建Wordpress帖子

时间:2010-02-13 17:28:21

标签: jquery ajax wordpress xml-rpc

我有一个动态页面,用户可以填写某些字段。这些用户都将在WordPress博客上拥有一个帐户。我想让他们直接将网页生成的内容发布到博客上。我不想将他们的密码存储在服务器中,所以我想用JQuery做客户端。

我查看了标准的jQuery.post方法和rpc plugin,但我没有设法使它们正常工作。例如,我最近的尝试是这样的:

wprpc = $.rpc('http://blog.wordpress.com/xmlrpc.php', 'xml', callback);
function callback(server) {
    answer = server.newPost(0,'user','pass','<struct><title>TestRPC</title></struct>');
    alert(answer);
}

和绝望的人:

$.post('http://blogurl.com/xmlrpc.php', { blogid: 0, username: "user", password: "pass", struct: "<struct><title>Test</title></struct>" }, function(data) {alert(data);}, 'xml');

但是它默默地失败了(甚至没有调用回调)。

你会怎么做?

2 个答案:

答案 0 :(得分:2)

您无法使用jQuery或任何其他JavaScript技术制作跨域POST请求。这是因为出于安全原因需要same origin策略。您能够实现此目的的唯一方法是通过与jQuery代码相同的域,子域,协议和端口上的服务器代理。

不确定您使用的服务器技术,但您可以查看Ben Alman的Simple PHP Proxy

答案 1 :(得分:2)

虽然原始政策会像Doug指出的那样让你失望,但你可以在一台服务器上安装一个脚本,将结果发布到另一台服务器上,这是一种代理。这有点像黑客,但它确实有效。我个人使用PHP和cURL来做这件事。