2012-04-17 178 views
1

我正在为Wordpress编写一个插件,但是如果您对Wordpress不熟悉,则应该无关紧要。我有一个我需要填写的表单,而且我有一个函数可以在95%的时间内返回表单中所需的所有字段。该函数需要一个唯一的ID,该函数将唯一ID放入URL中,获取一些XML,解析XML并返回一些内容。这是我想自动填充剩余表单域的东西。从表单中调用php函数,并完成表单并返回结果

因此,我需要一个表单按钮,以独特的ID发送给我的功能,我需要了解我的功能能够把东西退回到其余字段...有或没有页面重载? 用户然后将检查字段,如果需要手动添加其他数据,然后提交。

的一个复杂因素是,该XML来自URL是外部的,因此不能用Jquery的查询?正确与否? 任何帮助非常感谢。

+0

我现在已经解决了这个问题,留下行动为空,所以它发布到自己。然后我添加了一个php函数调用来排列函数位。并根据函数的结果更改表单域的值。整合到WordPress似乎是剩下的难点。 – Andrewb 2012-04-18 22:34:50

回答

1

如果通过“外部”,你的意思是跨域Ajax请求,这是可能的。请参阅jQuery.ajax()函数和jsonp设置。

+0

我相信,只有当您请求数据的服务器被配置为处理'jsonp'请求时才会有效。或者,有插件可以让你进行跨域GET请求,例如https://github.com/padolsey/jQuery-Plugins/tree/master/cross-domain-ajax/ – billyonecan 2012-04-17 18:33:36

+0

我的意思是跨域。我可以用这种方法使用我当前的php函数吗? – Andrewb 2012-04-17 18:38:50

+0

@Andrewb我不确定关于deifwud关于服务器设置的说明。从网站获取数据需要启用特定设置会很奇怪。毕竟,你只是在阅读文件的信息。也许有人可以证实这个问题。检查这个链接,它是关于'jsonp'的警告:http://www.ibm.com/developerworks/library/wa-aj-jsonp1/ – 2012-04-17 18:45:53

1

使用AJAX可以POST/GET和与回报,你可以决定你的形式做什么。

例如,使用jQuery我将数据转换为JSON格式,并将其发送到与JSON串做出响应的外部服务器。仍然在我的jQuery通过数据进行迭代,并根据结果引发错误的特定的ID等

1

如果你可以使用JSON,那么你可以使用jQuery。

如果你必须使用XML,那么你需要YQL(雅虎查询语言)。以下是该文章:http://james.padolsey.com/javascript/cross-domain-requests-with-jquery/

如果你有机会到为XML,那么你可以使用的crossdomain.xml技术的地方:http://code.google.com/p/crossxhr/wiki/CrossXhr

或者你也可以做一个定期的AJAX到一个你自己的PHP页面,PHP页面通过curl(或类似的东西)获取XML,然后返回结果。这种方式你不需要做跨域请求,但需要更长的时间。