Javascript 在用户提交表单而不刷新页面后显示数据(从API调用检索)

Javascript 在用户提交表单而不刷新页面后显示数据(从API调用检索),javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我正在创建一个表单,该表单将在提交时收到用户的搜索查询请求,并在进行API调用后显示结果。我希望在不使用AJAX刷新页面的情况下显示结果。我正在使用PHP连接到API 这是我到目前为止得到的结果,但我无法显示结果。不管API连接成功与否,如果不刷新页面,我甚至无法在同一页面中显示表单条目,因此我不确定是否正确。我错过了什么?为了做这件事,我还需要考虑什么呢?有人能告诉我正确的方向吗 $document.readyfunction{ $'search-form'。在'submit'上,函数E{

我正在创建一个表单,该表单将在提交时收到用户的搜索查询请求,并在进行API调用后显示结果。我希望在不使用AJAX刷新页面的情况下显示结果。我正在使用PHP连接到API

这是我到目前为止得到的结果,但我无法显示结果。不管API连接成功与否,如果不刷新页面,我甚至无法在同一页面中显示表单条目,因此我不确定是否正确。我错过了什么?为了做这件事,我还需要考虑什么呢?有人能告诉我正确的方向吗

$document.readyfunction{ $'search-form'。在'submit'上,函数E{ e、 防止违约; $.ajax{ url:$this.attr'action', 类型:$this.attr'method', 数据类型:“json”, 数据:$this.serialize, 成功:functiondata{ 控制台日志数据; $'results'.htmldata; } }; }; }; 结果显示在这里..。serialize不会序列化提交按钮。只有当按下/触发表单上的提交操作时,提交按钮才会在请求中发送。serialize无法知道这些。 您只需手动添加该信息,或者根本不检查它

...
data: $(this).serialize()='&submit=ajax',
...


我建议在这种情况下,您只需创建一个具有如下值的隐藏字段:

<input type="hidden" name="search" value="submitted" />

这将在提交时出现。

这个怎么样?ifisset$_POST['search']{$query=urlencode$_POST[search];$request=.$query;$response=file\u get\u contents$request;$result=json\u decode$response;echo$result;}否则{echo未收到任何搜索查询;}
<input type="hidden" name="search" value="submitted" />