Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 使用JSONP发布表单_Jquery_Post_Jsonp_Http Post - Fatal编程技术网

Jquery 使用JSONP发布表单

Jquery 使用JSONP发布表单,jquery,post,jsonp,http-post,Jquery,Post,Jsonp,Http Post,我想用JSONP发布一个表单,有没有可行的解决方案 我想将表单发布到jsonp的不同域。您不能使用jsonp进行跨源发布 但是,您可以: 将表单序列化为查询字符串,并将其与GET请求一起发送 如果您有幸只针对现代浏览器,请使用 JSONP请求只是创建一个带有函数调用的脚本标记: Javascript: var head = document.getElementsByTagName("head")[0]; var script = document.createElement('script')

我想用JSONP发布一个表单,有没有可行的解决方案


我想将表单发布到jsonp的不同域。

您不能使用jsonp进行跨源发布

但是,您可以:

  • 将表单序列化为查询字符串,并将其与GET请求一起发送
  • 如果您有幸只针对现代浏览器,请使用
    JSONP请求只是创建一个带有函数调用的脚本标记:

    Javascript:

    var head = document.getElementsByTagName("head")[0];
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script src = 'url_to_post.serverside?callback=callback_function';
    
    var callback_function(response) {
        head.removeChild(script);
        alert(response.abc); // returns def;
    };
    
    url_至_post.serverside:

    callback_function({"abc": "def"});
    
    希望您能理解为什么它只适用于GET请求


    :)

    您可以在$.POST、$.GET、$.AJAX方法的数据选项上使用该选项:

    $('form').serialize()
    

    请给我们看一些代码!任何人怎么能这样回答呢?您只能使用JSONP发送GET请求。@vzwick感谢您的快速响应。这个场景是我的服务器上有表单,但我希望通过ajax将表单发布到不同的服务器,但ajax不允许这样做,因此我发现jsonp有助于将数据发送到不同的服务器。它使用GET方法,但我希望post方法不使用jsonp。有什么想法吗?我不认为他真的需要为此显示代码,对我来说,这似乎是一个非常直截了当的问题:S