我正在尝试设置 ajax URL to variable res .
变量res是不同字符串的组合 . 你可以看看代码 .
HTML
<form id="frm1">
<input type="text" name="fname" value="" placeholder="Update Location">
</form>
<button class="btn btn-default pull-right" onclick="loadWeather()"type="button">
Search
</button>
在这里,我试图获取表单中的文本 .
.js文件
window.onload = loadWeather();
var part = "http://api.openweathermap.org/data/2.5/weather?q=";
var a = encodeURI(part);
var b = document.getElementById("frm1");
var text = b.elements[0].value;
var urll = "&units=metric&appid=MYKEY";
var c = encodeURI(urll);
var res = a + text + c;
function loadWeather() {
$.ajax({
url: res,
当我在控制台中检查res的值时,它显示为undefined .
还有一个错误是无法在blog.js:7中读取null的属性'elements'
我想要的是最后的网址必须等于这样的东西 -
http://api.openweathermap.org/data/2.5/weather?q=FORMDATA&units=metric&appid=MYKEY
1 回答
您的代码中存在逻辑错误 . 在第一行:
您正在调用页面加载时函数
loadWeather
,这意味着此函数将在任何其他javascript代码之前立即调用 . 此时尚未分配res
变量,稍后将在调用该函数后填充该变量 .您必须在变量赋值后调用该函数 . 例如,像这样的东西将起作用: