Форма Jquery Ajax, междоменные проблемы Firefox - PullRequest
0 голосов
/ 11 ноября 2010

У меня следующая форма отлично работает в Chrome, но, похоже, не работает в Firefox. Некоторые поиски в Google сообщили мне, что это междоменная проблема. Я не мог понять, как это исправить, хотя?

Кроме того, я попытался отправить его в локальный php-файл, который перенаправил бы на междоменный URL-адрес с переменными, но это тоже не помогло. Любая помощь будет высоко ценится!

<script type="text/javascript">

  $(function() {
    $("#requestaction").click(function() {
      $("#thecallform").fadeOut(1000, function(){
           $("#crcontent-thanks").fadeIn(500);
      });
      // validate and process form here

      var fname = $("input#first_name").val();
      var lname = $("input#last_name").val();
      var email = $("input#email").val();
      var phone = $("input#phone").val();
      var retURL = $("input#retURL").val();

 var dataString = 'first_name='+ fname + '&email=' + email + '&phone=' + phone + '&last_name=' + lname + '&retURL=' + retURL;
  //alert (dataString);return false;
  $.ajax({
    type: "POST",
    url: "http://www.blah.com?",
    data: dataString
    });
    return false;

    });
  });

    </script>

<form name="reqform" id="reqform" action="">
<input id="retURL" name="retURL" type="hidden" value="http://www.google.com" />
<div style="float:right;font-weight:bold;line-height:50px;padding-right:20px;padding-top:11px;margin-right:-3px;">
    <div id="affiliates">
        <a href="/invest" style="color: rgb(0, 0, 0); text-decoration: none;"> </a>
        <div style="margin: 4px auto; width: 112px;">
            <div class="button-left">
                &nbsp;</div>
            <div class="button-middle">
                <div class="submit-button" id="requestaction" style="line-height: 36px; width: 100px; text-align: center;cursor:pointer;">
                    Request a Call</div>
            </div>
            <div class="button-right">
                &nbsp;</div>
        </div>
    </div>
</div>

<div><input id="first_name" name="first_name" type="text" value="First Name" class="callforminput" style="margin:6px 10px 0px 10px" onfocus="if(this.value=='First Name'){this.value=''};" onblur="if(this.value==''){this.value='First Name'};"></div>
<div><input id="last_name" name="last_name"type="text" value="Last Name" class="callforminput" style="margin:6px 10px 0px 0px" onfocus="if(this.value=='Last Name'){this.value=''};" onblur="if(this.value==''){this.value='Last Name'};"></div>
<div style="clear:left;"><input id="email" name="email" type="text" value="E-mail" class="callforminput" style="margin:6px 10px 0px 10px" onfocus="if(this.value=='E-mail'){this.value=''};" onblur="if(this.value==''){this.value='E-mail'};"></div>
<div><input id="phone" name="phone" type="text" value="Phone" class="callforminput" style="margin:6px 10px 0px 0px" onfocus="if(this.value=='Phone'){this.value=''};" onblur="if(this.value==''){this.value='Phone'};"></div>
</form>

Ответы [ 2 ]

1 голос
/ 11 ноября 2010

Похоже, вы ответили на свой вопрос. Это действительно звучит как междоменная проблема. И ваш лучший обходной путь, это исправление, которое вы предложили. Публикация в вашем собственном PHP-скрипте, который отправляет на удаленный URL. Если вы попробовали это, и это не сработало, это могло произойти из-за отсутствия поддержки сокетов, проблемы с selinux или брандмауэром, настройки безопасного режима php или какого-либо другого фактора. Что вы должны попытаться повторно реализовать, собрать все данные о нем и задать вопрос, относящийся к этой части.

0 голосов
/ 11 ноября 2010

Ваш вопрос мне не очень понятен, однако, если у вас возникли проблемы с междоменным доменом ajax, я думаю, использование jsonp должно помочь вам

http://api.jquery.com/jQuery.getJSON/

ищите "jsonp"

Я предполагаю, что вы получите ответ json здесь ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...