2013-04-08 2 views
1

Я получаю этот странный отклик от IE8 (только IE8) при отправке информации о клиенте через ajax POST.

Действие выполняется правильно, клиент создается на CRM и все последующие действия выполняются, но и окно вновь откроется, что это новое окно с верхней URL выскакивает ...

Я не могу точно определить, почему это происходит. Я лишил код, чтобы включить только пост-вызов без успеха.

Рабочий код ниже, я просто взял идентификатор компании по соображениям безопасности.

Любые идеи?

  • Javascript

    $(document).ready(function() { 
        $('button').click(function() { 
         postNsData(); 
        }); 
    }); 
    
    function postNsData() { 
        var nsurl = 'https://forms.netsuite.com/app/site/crm/externalleadpage.nl'; 
        var datamin = { 
         compid: xxxxxx, //Company ID -- it's a number. 
         formid: 503, 
         h: '1e705f3aa4570f197aef', 
         leadsource: 8020, 
         subsidiary: 2, 
         email: '[email protected]', 
         firstname: 'John', 
         lastname: 'Doe', 
         phone: '1800902011', 
        }; 
    
        $.ajax({ 
         type: 'POST', 
         url: 'repost.php', 
         data: 'url=' + nsurl + '&' + data, 
         success: function (text, textStatus, jqXHR) { 
          if (textStatus == 'success') {} 
         } 
        }); 
    } 
    
  • PHP код - repost.php

    <? php 
    //set POST variables 
    $url = $_POST['url']; 
    unset($_POST['url']); 
    $fields_string = ""; 
    //url-ify the data for the POST 
    foreach($_POST as $key = > $value) { 
        $fields_string. = $key.'='.$value.'&'; 
    } 
    
    $fields_string = rtrim($fields_string, '&'); 
    //open connection  
    $ch = curl_init(); 
    //set the url, number of POST vars, POST data 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_POST, count($_POST)); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string); 
    //execute post 
    
    $result = curl_exec($ch); 
    
    //close connection 
    
    curl_close($ch); 
    
    ?> 
    
+1

Не знаю, почему они сделали IE ..: P –

ответ

3

Я думаю, вы должны обновить вас JavaScript, чтобы выглядеть

$(document).ready(function() { 
    $('button').click(function (event) { 
     event.preventDefault(); 
     postNsData(); 
    }); 
}); 

Что может случиться, так это то, что IE правильно предполагает, что вы хотите выполнить ссылку И выполнить javascript.

+0

Это сработало отлично. * Te debo una chela Hansy. – pipechang

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