AJAX 表单提交与标准表单提交
我正在尝试在我的应用程序中实施 GSA(Google Search Appliance)。我想使用 GSA 提供的 REST(JSON) 调用。这个问题的要点是,GSA 需要 POST 请求才能返回 JSON 响应。
现在,当我使用表单创建一个新的虚拟 HTML 页面并使用参数发出 POST 请求时,我得到了成功的响应(JSON)
但是,当我尝试使用 $.post(...)
方法时向 URL 发送 POST 请求时,我没有得到实际响应,而是得到一些错误页面。
我只是想知道标准提交和 ajax 表单提交之间有区别吗?如果是,是否有任何解决方法可以解决这种情况。
请帮忙。提前致谢。
I am trying to implement GSA(Google Search Appliance) in my app. I want to use the REST(JSON) call that the GSA provides. The point for this question is that, the GSA needs a POST request in order to return the JSON response.
Now when I made a new dummy HTML page with a form and make a POST request with parameters I get a successful response(JSON)
But, when I try using the $.post(...)
method to send a POST request to the URL I am not getting the actual response, but some error page.
I just wanted to know is there a difference between a standard submit and an ajax form submit. If yes, is there any workaround for this situation.
Please Help. Thanks in Advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果你想通过ajax但以传统方式提交表单,你应该看看jquery表单插件。只需将您的提交按钮设置为键入按钮,然后单击通过 .ajaxSubmit() 提交您的表单。我想这会解决你的问题。
If you want to submit the form through ajax but in the conventional way, You should have a look at jquery form plugin . Just make your submit button to type button and on click submit your form thorugh .ajaxSubmit(). I think this will solve your problem.
GSA 搜索协议基于 HTTP GET。所有搜索参数都需要通过查询字符串传入。此外,GSA 开箱即用时仅返回 HTML 或 XML 结果。您可以应用一个将 xml 转换为 JSON 的 xslt ——但我还没有找到一个真正有效的(即,我找到了几个,但它们并不在所有情况下都返回有效的 JSON)。
GSA search protocol is based on HTTP GET. All search parameters need to be passed in via query string. Also, out of box, GSA only returns either HTML or XML results. You could apply an xslt that transforms xml to JSON -- but I'm yet to find one that works really well (i.e., I've found a couple but they don't return valid JSON in all instances).