jQuery ajax HTML表单提交调用未将控制权返回给调用程序

我有一个HTML表单,该表单已正确加载到DOM中,并通过jQuery ajax调用显示在DOM中。

我再次将表单数据提交到PHP模块jQuery ajax,称为jQuery。从网络流量中,我可以看到表单数据已正确发送到被调用的PHP模块,并且被调用的PHP模块正在回显文本响应,但是该响应显示在空白页上,并且没有返回给调用脚本。

有人可以帮我解决我做错的事情吗?

Windows 7和localhost / XAMPP / SSL下的jQuery 3.1.1。

我尝试了许多SO的Ajax提交方法,但是在每种情况下,数据都被正确发送到被调用的PHP模块,后者反过来正确地回显了一些文本,但是在每种情况下,回显的文本都显示在空白页面上。

/* attach a submit handler to the form */
$("#contact").submit(function(event) 
    {           
        /* stop form from submitting normally */
                   event.preventDefault();

        /* get the action attribute from the <form action=""> element */
        var $form = $(this),url = $form.attr('action');

        /* Send the data using post */
        $.ajax({
           url: url,method: "POST",data: {message:$('#message').val()},// received as a $_POST array
           dataType: text,success: function(response)
                {
                    alert(response);
                }
        })  <!-- end the ajax call -->

    })  // end submit function*

简而言之,成功代码永远不会执行,因为即使调用的程序回显了我的期望,数据也没有返回给它。

lxmforyou 回答:jQuery ajax HTML表单提交调用未将控制权返回给调用程序

问题是您遇到了JavaScript错误:

  

未捕获的ReferenceError:未定义文本

此代码:

$.ajax({
    type: text,

需要成为

$.ajax({
    type: "text",

由于存在JavaScript错误,e.preventDefault不会启动,因此该表单会发布完整的文章,并在新窗口中显示您的php输出。

请参阅此答案的评论:

https://stackoverflow.com/a/19454378/2181514
  

这是建议的唯一一种方法,即使存在Javascript错误,该方法也可以阻止页面刷新

(更改为type=button以防止表单发布)

本文链接:https://www.f2er.com/3161515.html

大家都在问