使用jquery提交表单

使用jquery提交表单,jquery,file,forms,Jquery,File,Forms,我正在尝试使用JQuery提交表单。我的问题来自这样一个事实:前端(html+js/jquery)和后端不在同一个站点上,但它确实支持JSONP 表单包含一个文件输入字段,因此我将提交多部分表单数据。 您将如何解决此问题?您的表单操作将指向控制帖子的站点 <form id="theForm" action="http://someurltoaformsubmitfunction" method="post"> 然后你可以打电话 $('theForm').submit()编辑:不

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

表单包含一个文件输入字段,因此我将提交多部分表单数据。
您将如何解决此问题?

您的表单操作将指向控制帖子的站点

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

然后你可以打电话
$('theForm').submit()

编辑:不要尝试此操作,它不适用于跨域帖子。我的错是没有仔细阅读问题

是否必须以表格形式提交?如果没有,您可以简单地执行jQuery ajax调用,将json发布到该调用,如下所示:

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

如果您只想提交表单并转到外部站点(即,就像您按下传统web表单上的submit按钮一样),您可以使用Javascript触发表单的submit方法;表单发布到哪里并不重要

document.myform.submit();
然而,如果您想使用AJAX类型的方法跨域发布,您将很难做到这一点。答案在于在jQueryAjax请求中使用JSONP而不是JSON


有关详细信息,请参阅。

您阅读了吗?这是跨域JSON的良好开端。它应该能帮助你写出更具体的问题。(目前您的问题过于笼统,无法回答)您无法跨域执行Ajax请求。这在大多数浏览器中都是一种安全违规行为。哎呀,我在问题中没有注意到这一点。我将适当地编辑答案。