2010-10-20 115 views
0

我正在尝试使用JQuery提交表单。我的问题来自前端(html + js/jquery)和后端不在同一个站点上,但它确实支持JSONP。使用jQuery提交表单

表单包含一个文件输入字段,所以我会提交多部分表单数据。 你会如何解决这个问题?

+2

您是否阅读过http://en.wikipedia.org/wiki/JSON#JSONP?这对于跨域JSON是一个好的开始。它应该可以帮助你写出更具体的问题。 (目前您的问题太笼统了,无法回答) – 2010-10-20 15:59:46

回答

1

您的表单操作将指向控制该帖子的网站。

<form id="theForm" action="http://someurltoaformsubmitfunction" method="post"> 

,那么你可以调用 $('#theForm').submit();

-1

编辑:不要尝试这个,它不会跨域岗位工作。我没有仔细阅读这个问题。

它是否必须是表单提交?如果没有,你可以简单地做一个jQuery AJAX调用的帖子JSON它与此类似:

$.ajax({ 
    url: 'yourUrl.htm', 
    data: 'somethingYouWantToSendToQueryString', 
    datatype: 'json', 
    success: function (data) { 
     //Do something with the data 
    } 
}); 
+0

您无法跨域进行Ajax请求。它是大多数浏览器中的安全违规。 – 2010-10-20 17:27:47

+0

cripes,我没有在问题中发现。我会适当地编辑答案。 – 2010-10-20 19:43:01

1

如果你想要做的就是提交表单的转至外部网站(即,如果你按下在传统的Web表单上提交按钮),您可以使用Javascript触发表单的提交方法;它无关紧要的形式发布到。

document.myform.submit(); 

但是,如果您希望使用AJAX类型的方法发布跨域,那么您将有更难的时间。答案在于在JQuery AJAX请求中使用JSONP而不是JSON。

查看JQuery Ajax documentation了解更多详情。