我试图做一些像用户点击按钮的事情,它向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
看起来我无法进入功能
答案 0 :(得分:0)
在该行包含console.log('called');
之前的insertText()
函数中写$.ajax({
所以你可以看到这个函数是否在点击时被调用。
如果Developer Tools的Console选项卡抛出JavaScript错误,这可能会进一步阻止JavaScript执行。
答案 1 :(得分:0)
用单引号替换双引号。
网址应为
网址:&#39; https://myserver.com/jsons.php?request=getTargets&tar=&#39; +文字+&#39;&amp; bar =&#39; + text2
答案 2 :(得分:0)
我是怎么做到的:
<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>
希望它可以帮助别人!