代码之家  ›  专栏  ›  技术社区  ›  Dave Kiss

ASP中的Ajax Post失败

  •  2
  • Dave Kiss  · 技术社区  · 16 年前

    嘿,伙计们,这可能真的很愚蠢,但希望有人能帮上忙。我尝试使用Ajax将数据发布到外部脚本,这样我就可以发送数据,但出于某种原因,我的数据无法发送到脚本。

    $(document).ready(function() {
    $("#submitContactForm").click(function () {
        $('#loading').append('<img src="http://www.xxxxxxxx.com/demo/copyshop/images/loading.gif" alt="Currently Loading" id="loadingComment" />');
            var name = $('#name').val();
            var email = $('#email').val();
            var comment = $('#comment').val();
            var dataString = 'name='+ name + '&email=' + email + '&comment=' + comment;
    
            $.ajax({
                url: 'http://www.xxxxx.com/demo/copyshop/php/sendmail.php',
                type: 'POST',
                data: '?name=Dave&email=xxxxxxx@gmail.com&comment=hiiii',
                success: function(result) {
                    $('#loading').append('success');
                    }
                });    
    
        return false;
    });
    });
    

    PHP脚本很简单(目前-只是想确保它能正常工作)

    <?php
    $name = $_POST['name'];
    $email = $_POST['email'];
    $comment = $_POST['comment'];
    
    $to = 'xxxxx@xxxxx.com';
    $subject = 'New Contact Inquiry';
    $message = $comment;
    
    mail($to, $subject, $message);
    ?>
    

    jquery嵌入在一个.aspx页面中(我不熟悉这种语言),但正在发布到一个PHP脚本中。我正在正确接收电子邮件,但里面没有数据。我错过什么了吗?我试图绕过这个例子中的变量,但它仍然不起作用。

    谢谢

    3 回复  |  直到 16 年前
        1
  •  1
  •   T.J. Crowder    16 年前

    您不能使用Ajax与不在 same origin 作为运行脚本的文档,除非浏览器和目标支持 CORS . 你可以使用 JSONP 稍微解决一下,但真正的CORS是这方面的未来。

        2
  •  0
  •   SLaks    16 年前

    不能使用Ajax向其他域发送请求。

        3
  •  0
  •   Sean Kinsey    16 年前

    删除“?”数据中的字符。我猜这会弄乱PHP中的数据解析。

    发布数据时,应使用 encodeURIComponent 这将编码 ? 作为 %3F .