Javascript 如何在ajax中基于搜索字段输入调用URL?

Javascript 如何在ajax中基于搜索字段输入调用URL?,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我的索引页上有一个搜索表单 <form method="post" action="search.php?go" id="searchform"> <input type="text" name="name"> <input type="submit" name="submit" value="Search"> </form> 我想调用一个以json格式返回数据的外部搜索引擎

我的索引页上有一个搜索表单

<form  method="post" action="search.php?go"  id="searchform"> 
          <input  type="text" name="name"> 
          <input  type="submit" name="submit" value="Search"> 
        </form>
我想调用一个以json格式返回数据的外部搜索引擎

如何将搜索词放入ajax变量“searchterms”中,以便将搜索词添加到外部搜索引擎的URL中?
我想不出来。

假设您的
输入
字段名为
名称
是您要从中提取术语的字段,请给它一个ID:

<input  type="text" name="name" id="searchbox">

假设名为
name
input
字段是要从中提取术语的字段,请为其指定一个ID:

<input  type="text" name="name" id="searchbox">

您不必从其他网站读取,这是为了防止XSS(跨站点脚本)攻击

如果你能够从其他网站上阅读,你就有可能从用户那里窃取信息。向其他网站发出请求的唯一方法是通过“JSONP”

通过充当外部脚本绕过安全要求。它不是加载原始JSON数据
{“type”:“JSON”}
,而是使用原始数据调用函数<代码>JSONP函数({“类型”:“JSONP”})


您必须提供回调函数才能处理它。

您不必从其他网站读取,这是为了防止XSS(跨站点脚本)攻击

如果你能够从其他网站上阅读,你就有可能从用户那里窃取信息。向其他网站发出请求的唯一方法是通过“JSONP”

通过充当外部脚本绕过安全要求。它不是加载原始JSON数据
{“type”:“JSON”}
,而是使用原始数据调用函数<代码>JSONP函数({“类型”:“JSONP”})

您必须提供回调函数才能处理它。

请尝试以下代码

用自己的url替换url

var searchterms='';
函数getTerm(术语){
控制台日志(术语);
$('.term')。文本(term);
}
$(“#提交”)。在(“单击”,函数(){
searchterms=$(“#searchbox”).val();
console.log(searchterms);
变量url=”https://externalwebsite.com/search?term=“+searchterms+”&variable2=something”;
console.log(url);
$.getJSON(url、函数(数据){
控制台日志(数据);
});
返回false;
});

试试下面的代码

用自己的url替换url

var searchterms='';
函数getTerm(术语){
控制台日志(术语);
$('.term')。文本(term);
}
$(“#提交”)。在(“单击”,函数(){
searchterms=$(“#searchbox”).val();
console.log(searchterms);
变量url=”https://externalwebsite.com/search?term=“+searchterms+”&variable2=something”;
console.log(url);
$.getJSON(url、函数(数据){
控制台日志(数据);
});
返回false;
});


谢谢!我还没有让它工作,但它似乎是对的。问题是,我是一个初学者,我还没有真正掌握ajax。我有一个解析json数据的代码,这是我从自己的数据库中获得的,运行良好。现在,我尝试将该代码重新用于外部json数据,但还没有任何结果。我甚至不知道外部数据是否已加载。谢谢!我还没有让它工作,但它似乎是对的。问题是,我是一个初学者,我还没有真正掌握ajax。我有一个解析json数据的代码,这是我从自己的数据库中获得的,运行良好。现在,我尝试将该代码重新用于外部json数据,但还没有任何结果。我甚至不知道外部数据是否已经加载。谢谢,到目前为止,我可以使用固定数据毫无问题地解析信息。现在我试着在动态数据的基础上做同样的事情。谢谢,到目前为止,我可以使用固定数据毫无问题地解析信息。现在我试着基于动态数据做同样的事情。谢谢,我放弃了。我对阿贾克斯太笨了。我想我已经找到了一种只使用php的方法。谢谢,我放弃了。我对阿贾克斯太笨了。我想我已经找到了一种只使用php的方法。
var searchterms = $('#searchbox').val();