簡體   English   中英

$ .ajax POST在IE8上打開一個新窗口

[英]$.ajax POST opens an new window on IE8

當通過ajax POST提交客戶信息時,我從IE8(僅IE8)得到了這個奇怪的回應。

操作正確執行,客戶在CRM上創建並執行所有后續操作,但窗口也會重新打開,即彈出頂部URL的新窗口...

我無法確定為什么會發生這種情況。 我刪除了代碼只包含post調用但沒有成功。

工作代碼如下,出於安全原因,我只是拿了公司ID。

有任何想法嗎?

  • 使用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@gmail.com', 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); ?> 

我認為你應該更新你的javascript看起來像這樣

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

它可能發生的是IE正確地假設你想要執行鏈接並執行javascript。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM