从网页向谷歌表单发送数据

Sending data to Google forms from web page

本文关键字:数据 表单 谷歌 网页      更新时间:2023-09-26

>我正在通过ajax从html向谷歌表单发送数据我已经设置了一个 Google 表单,当我从直接链接使用它时,它工作正常。但是当我尝试从Web发送数据时,它会抛出错误。下面是脚本:

<script type="text/javascript">
    function postContactToGoogle() {
        $j = jQuery.noConflict();
        var name = $j('#name').val();
        var email = $j('#email').val();
        var feed = $j('#feed').val();
        if ((name !== "") && (email !== "")
                && (feed !== "") ) {
            $j.ajax({
                url : "http://goo.gl/forms/IZkhiFRINx",
                data : {
                    "entry.1" : name,
                    "entry.3" : email,
                    "entry.4" : feed
                },
                type : "POST",
                dataType : "xml",
                statusCode : {
                    0 : function() {
                        $j('#name').val("");
                        $j('#email').val("");
                        $j('#feed').val("");
                        //Success message
                    },
                    200 : function() {
                        $j('#name').val("");
                        $j('#email').val("");
                        $j('#feed').val("");
                        //Success Message
                    }
                }
            });
        } else {
            //Error message
            console.log('error');
        }
    }
</script>

这是标记::

<div class="modal fade" id="myModal" role="dialog">
    <div class="modal-dialog">
        <form id="callus" target="_self" onsubmit=""
            action="javascript: postContactToGoogle()">
            <!-- Modal content-->
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal">&times;</button>
                    <h4 class="modal-title">Gift Card</h4>
                </div>
                <div class="modal-body">
                    <fieldset>
                        <label for="name">What's your name? *</label> <input id="name"
                            type="text" name="name">
                    </fieldset>
                    <fieldset>
                        <label for="email">What's your email? *</label> <input id="email"
                            type="text" name="email">
                    </fieldset>
                    <fieldset>
                        <label for="feed">Questions or Feedback?*</label>
                        <textarea id="feed" name="feed"></textarea>
                    </fieldset>
                    <div style="text-align: right; padding-bottom: 15px;">*
                        Required</div>
                    <div
                        style="width: 100%; display: block; float: right; padding-top: 15px;">
                        <div class="requestSubmited"
                            style="display: none; text-align: center;">Your request has
                            been sent!</div>
                    </div>
                </div>
                <div class="modal-footer">
                    <button type="submit" value="submit">submit!!</button>
                    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                </div>
        </form>
    </div>
</div>
</div>

这是我得到的错误::

XMLHttpRequest cannot load http://goo.gl/forms/IZkhiFRINx. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. The response had HTTP status code 405

尝试将以下代码放入web.config文件中。

 <system.webServer>
   <httpProtocol>
         <customHeaders>
           <add name="Access-Control-Allow-Origin" value="*" />
           <add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept" />
         </customHeaders>
  </httpProtocol>
 </system.webServer>

正如错误所说Cross-Origin Request Blocked所以这段代码允许这里的跨源请求 * 表示接受所有请求。