如果没有警报,我的web服务将不会被调用

Without alert, my web service wont get called

本文关键字:调用 服务 web 有警 我的 如果      更新时间:2023-12-26

这是我试图在dotnetnuke HTML模块中调用RESTful web服务的代码。如果我删除javascript中的警报并按下提交按钮,页面将不会重定向。当我再次发出警报时,它起作用了!我认为这与延误有关。我想在不使用警报功能的情况下完成这项工作。请帮忙。

 <html>
 <head>
<script type="text/javascript"> 
function s()
 {
 var a=document.getElementById('txt').value; 
var url= 'http://localhost:9737/RestServiceImpl.svc/xml/'+a; 
window.location = url;
   window.alert("hi");
  
} 
</script>
 </head>
 <body> <input type="text" name="txt" id="txt" />
 <input type="submit" value="submit" onclick="s();"/> 
</body>
 </html>

尝试在结束</body>标记之前移动<script type="text/javascript">

<html>
  <head><title></title> </head>
  <body> <input type="text" name="txt" id="txt" />
    <input type="submit" value="submit" onclick="s();"/> 
    <script type="text/javascript"> 
     function s()
     {
       var a=document.getElementById('txt').value; 
       var url= 'http://localhost:9737/RestServiceImpl.svc/xml/'+a; 
       window.location = url;
     } 
    </script>
  </body>
 </html>

希望这能解决你的问题。

需要防止默认,否则浏览器会立即导航离开

function s(event) {
 var a=document.getElementById('txt').value; 
  var url= 'http://localhost:9737/RestServiceImpl.svc/xml/'+a; 
  window.location = url;
  event.preventDefault();
} 

或者,您可以从函数s() 中选择return false;