我正在尝试做一些类似用户单击按钮的事情,它向 json 发送请求,我希望它显示 json 的响应,但我有一些错误,我无法弄清楚如何解决它。
.HTML:
<a class="backLink" id="target_button" onclick="insertText('target_', 'AA', 'NN')"><div class="fa fa-external-link"></div>Show</a>
JS + ajax:
<script type="text/javascript">
function insertText(elemID, text, text2) {
$.ajax({
url: "https://myserver.com/jsons.php?request=getTargets&tar="text"&bar="text2"",
beforeSend: function (xhr) {
xhr.overrideMimeType("text/plain; charset=x-user-defined");
}
})
.done(function (data) {
if (console && console.log) {
console.log(data);
var getValue = $("#" + elemID).val() == "" ? data : "";
$("#" + elemID).val(getValue);
}
});
}
</script>
我不确定我是否以更好的方式做到这一点。这是一件简单的事情。用户单击按钮,使用该参数调用函数,向 json 发出请求,接收答案并将其显示在 elemID 上。谢谢
编辑:我所做的更改
<script>
console.log('called');
function insertText(elemID, product, country) {
"use strict";
console.log('called2');
$.ajax({
url: 'https://myserver.com/jsons.php?request=Targ&country=" + country + "&product=" + product +".",
beforeSend: function (xhr) {
xhr.overrideMimeType("text/plain; charset=x-user-defined");
}
})
.done(function (data) {
if (console && console.log) {
console.log(data);
}
});
console.log('called3');
}
console.log('called4');
</script>
控制台上的结果:
called
called4
看起来我无法进入功能
在
insertText()
函数中写console.log('called');
,紧接在该行包含$.ajax({
因此,您可以看到该函数是否在单击时被调用。
如果开发人员工具的"控制台"选项卡抛出 JavaScript 错误,这也可能阻止进一步的 JavaScript 执行。
将双引号替换为单引号。
网址应为
网址: 'https://myserver.com/jsons.php?request=getTargets&tar='+ 文本 +'&bar='+ 文本2
我是如何做到的:
<script type="text/javascript">
function insertText(elemID, p, c) {
var server = window.location.hostname;
$.ajax({
url: "https://" + server + "/jsons.php?request=Target&c=" + c + "&p=" + p +"",
beforeSend: function (xhr) {
xhr.overrideMimeType("text/plain; charset=x-user-defined");
}
})
.done(function (data) {
console.log(data)
var tmp = data.replace('"',"");
var tmp2 = tmp.trim();
var getValue = $("#" + elemID).val() == "" ? tmp2 : "";
$("#" + elemID).val(getValue);
});
}
</script>
.HTML:
<a id="t_button" onclick="insertText('t_d', '<?php $c ?>', '<?php $p ?>');" > show</a>
希望它能帮助别人!