当通过ajax POST提交客户信息时,我从IE8(仅IE8)得到这个奇怪的回应。
正确执行操作,在CRM上创建客户并执行所有后续操作,但窗口也会重新打开,即弹出顶部URL的新窗口...
我无法确定为什么会这样。我剥离了代码,只包含帖子,但没有成功。
工作代码如下,出于安全原因,我刚拿了公司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);
?>
答案 0 :(得分:3)
我认为你应该更新你的javascript看起来像这样
$(document).ready(function () {
$('button').click(function (event) {
event.preventDefault();
postNsData();
});
});
可能发生的事情是IE正确地假设你想要执行链接并执行javascript。