开发者

Create a Wordpress post with xmlrpc and jQuery

I have a dynamic page where the user can fill some fields. Those users will all have an account on a WordPress blog. I would like to allow them to directly post the content generated by the webpage to the blog. I don't want to store their password in the server so I want to do this client-side with JQuery.

I have looked both at the standard jQuery.post method and the rpc plugin but I didn't manage to make them wo开发者_如何学编程rk. For example, my latest attempts were something like this:

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);
}

and a desperate one:

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

but it silently failed (the callback is not even called).

How would you do this ?


While the origin policy will trip you up as Doug pointed out, you could have a script on one server post the results to the other, a sort of proxy. It's a bit of a hack, but it'd work. I'd personally use PHP and cURL to do it.


You cannot make a cross domain POST request using jQuery or any other JavaScript technology. This is because of the same origin policy required for security reasons. The only way you will be able to accomplish this is via a server proxy on the same domain, subdomain, protocol and port as the jQuery code.

Not sure what server technology you are using, but you could look into Simple PHP Proxy by Ben Alman.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜