2010-11-11 3 views
0

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

Кроме того, я попытался отправить его в локальный 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> 

ответ

1

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

+0

Я должен был swtich мой метод PHP и использовать немного CURL – Elliot

0

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

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

искать «JSONP»

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

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