javascript - 将 IP 地址传递给请求正文的问题
问题描述
嗨,我有这样的代码
$(window).load(function(){
var cookieString = document.cookie;
var parsedCookie = cookieString.split(";");
var hutk = '';
for(var i=0; i<parsedCookie.length; i++){
var eachCookie = parsedCookie[i].split('=');
if(eachCookie[0] == ' hubspotutk'){
hutk += eachCookie[1];
}
}
$.getJSON('http://jsonip.com/?callback=?', function(r){
var ret = r.ip;
return true;
});
var context = new Object();
context.hutk = hutk;
context.ipAddress = ret;
context.pageUrl = window.location.href;
context.pageName = document.title;
context.redirectUrl = 'https://info.cos.net.au/thank-you';
document.getElementById('contextJSON').value = JSON.stringify(context);
});
我试图从外部服务器获取和传递 IPAddress 以及其他一些 cookie 值,但它不会收到我的 ip 地址字段。所有其他值都很好。console.log 确实在控制台中显示 IP 地址。
这一点导致了问题:
$.getJSON('http://jsonip.com/?callback=?', function(r){
var ret = r.ip;
return true;
});
任何人都可以提出解决方案吗?javascript 也被接受。谢谢
解决方案
默认情况下,Ajax 调用异步运行。这包括$.getJSON
, 尝试将您的代码放在$.getJSON call
回调中。前任:
$.getJSON('http://jsonip.com/?callback=?', function(r){
var ret = r.ip;
return true;
var context = new Object();
context.hutk = hutk;
context.ipAddress = ret;
context.pageUrl = window.location.href;
context.pageName = document.title;
context.redirectUrl = 'https://info.cos.net.au/thank-you';
document.getElementById('contextJSON').value = JSON.stringify(context);
});
推荐阅读
- node.js - 使用 gulp 任务执行 nexe 编译
- c++ - 为什么 npm install ffi 返回错误。使用节点版本 12
- javascript - 如何在移动设备中并排放置两个绝对定位的div?
- java - 使用 BufferedReader 读取所有行而不是清空它
- php - 下载特定 url 上的图像,如果图像不存在则返回错误 PHP
- sql - 当其中一行在 SQL 中具有 NULL 值时如何增加值
- wildfly - 如何禁用standalone.xml中的方法
- flutter - 在 Flutter 中,有没有办法将小部件放在 WebView 顶部以阻止 WebView 的某些部分
- perl - 在 cygwin64 下工作的 CPAN 工具链需要哪些软件包?
- wordpress - 如何显示所有产品类别图像