2016-07-06 6 views
2

Я подготовил одну HTML-форму с поддержкой JQuery и PHP. Форма дает правильный ввод в PHp, но когда форма отправляется, она не показывает сообщение об успешном завершении &, не получая поля пустым. Код приведен ниже:сообщение об успешном завершении не появилось после представленной формы ajax

function sendContact() { 
     event.preventDefault(); 

     var valid; 
     valid = validateContact(); 
     if (valid) { 
      jQuery.ajax({ 
       // input submisssion though Ajax 
       url: "xxxx.php", 
       data: 'userName=' + $("#userName").val() + '&userEmail=' + $("#userEmail").val() + '&subject=' + $("#subject").val() + '&content=' + $(content).val(), 
       type: "POST", 
       success: function (data) { 
        // Thankyou message on sucessful submission. 
        $("#mail-status").html(data); 
        $('#mail-status').show(); 

        // Clear the form. 
        $('#userName').val(''); 
        $('#userEmail').val(''); 
        $('#content').val(''); 
       }, 
       error: function() { 
       } 
      }); 
     } 
    } 

    //error checking 
    function validateContact() { 
     var valid = true; 
     $(".InputBox").css('background-color', ''); 
     $(".info").html(''); 

     if (!$("#userName").val()) { 
      $("#userName-info").html("(required)"); 
      $("#userName").css('background-color', '#FFFFDF'); 
      valid = false; 
     } 
     if (!$("#userEmail").val()) { 
      $("#userEmail-info").html("(required)"); 
      $("#userEmail").css('background-color', '#FFFFDF'); 
      valid = false; 
     } 
     if (!$("#userEmail").val().match(/^([\w-\.][email protected]([\w-]+\.)+[\w-]{2,4})?$/)) { 
      $("#userEmail-info").html("(invalid)"); 
      $("#userEmail").css('background-color', '#FFFFDF'); 
      valid = false; 
     } 
     if (!$("#content").val()) { 
      $("#content-info").html("(required)"); 
      $("#content").css('background-color', '#FFFFDF'); 
      valid = false; 
     } 

     return valid; 
    } 

Библиотека AJAX используется: https://code.jquery.com/jquery-2.1.1.min.js "Тип =" текст/JavaScript HTML код не является:

<div id="frmContact"> 
<div id="mail-status" style="display: none;">Thanking you.</div> 

     <label style="padding-top:20px;">Name</label><span id="userName-info" class="info"></span><br/> 
     <input type="text" name="userName" id="userName" class="InputBox"><br> 

     <label>Email</label><span id="userEmail-info" class="info"></span><br/> 
     <input type="text" name="userEmail" id="userEmail" class="InputBox"><br/> 

     <label>Content</label><span id="content-info" class="info"></span><br/> 
     <textarea name="content" id="content" class="InputBox" cols="25" rows="6"></textarea><br/> 

     <button name="submit" class="btnAction" onClick="sendContact();">Send</button> 
</div>  

Я проверил нет сайтов & гугла для правильный код, но не смог найти ?. Не могли бы вы заметить правильное, пожалуйста?

+0

в консоли браузера, какое сообщение вы получаете? Можете ли вы поставить console.log ('message') в свой вызов ajax и посмотреть, какое сообщение будет напечатано в консоли? – sahil

+0

Появляется сообщение соколе: XMLHttpRequest не может загрузить http: //www.xxxx.php. В запрошенном ресурсе нет заголовка «Access-Control-Allow-Origin». Поэтому исходный 'null' не допускается. – user1508939

+0

Тогда как запрос ajax отправляется в бэкэнд. Он хранит данные, которые вы передаете в backend? – sahil

ответ

2

Ваша ошибка

XMLHttpRequest не может загрузить xxxx.php. В запрошенном ресурсе нет заголовка «Access-Control-Allow-Origin» .

говорит, что в файле конфигурации у вас нет информации о том, что делать для CORS (кросс происхождение) запрос, так что вы должны включить CORS на вашей платформе ... смотрите здесь: http://enable-cors.org/server.html и выбрать платформу (Tomcat ... Apache ...)

Также проверьте для поддержки браузера для CORS здесь: http://enable-cors.org/client.html

+0

@Loeezo, Не могли бы вы исправить мой код, пожалуйста?Поскольку я новичок в этом ajax – user1508939

+0

, если ошибка, которую вы читаете, всегда такова: XMLHttpRequest не может загрузить xxxx.php. В запрошенном ресурсе нет заголовка «Access-Control-Allow-Origin». вы ДОЛЖНЫ исправить свой файл конфигурации и добавить строки, говорящие, что делать для запроса на кросс-начало, например, CORS – Lorenzo

+0

где вы используете приложение? Кот? Apache? я напишу конфигурацию, которую вы должны скопировать в конфигурационный файл – Lorenzo

Смежные вопросы