2011-09-16 46 views
1

我正在检索Google的天气API XML并使用PHP。我正在检索搜索到的城市的天气。无刷新提交表单

现在,这个“应用程序”在一个标签下,每当我提交表单刷新,我想要防止这种情况。

可能吗?这将在仪表板中实现 - 这就是我想阻止刷新的原因。

这就是我的意思是:http://www.screenr.com/30As

整个代码是在这里:http://jsfiddle.net/ZshpF/ 简单,复制粘贴到PHP文件中的代码,它会工作。

回答

6

您需要使用AJAX。既然你在标签中提到了jQuery,它就有一个very handy function用于调用服务器。但是,从JavaScript调用只是一个故事,您还需要在服务器上监听该呼叫。它本质上是另一个PHP脚本,它本身充当页面,但会以(很可能)JSON而不是HTML格式返回数据。这并不意味着人类可读,而是要成为您的JavaScript代码使用的一种Web服务。

你可以找到一个简单的例子here

+0

所以唯一的方法是拥有另一个PHP脚本,对吧? – jQuerybeast

+1

不仅是标签,还有昵称! :) @jQuerybeast:是的。 – hakre

+0

@jQuerybeast:不要认为它是唯一的方法,认为它是更好的方法。您可以将AJAX请求发送给同一个服务器资源,并向其传递一个查询字符串参数以区分您需要在PHP代码中返回的内容,但这被认为是糟糕的设计。这是一个单独的请求,通常应该作为单独的服务器资源来处理。 – David

0

我认为你可以使用jQuery ajaxForm

+1

避免使用插件,除非你绝对必须,否则你最终会得到一个臃肿的应用程序。 –

+0

这是一个很好的测试插件。 –

+0

它可能是,但在这种情况下,您可以使用jQuery进行直接的ajax调用。不需要插件。 –