在Javascript / Jquery中不在浏览器上打开它来执行URL

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Javascript / Jquery中不在浏览器上打开它来执行URL相关的知识,希望对你有一定的参考价值。

我有一个本地页面从数据库中提取数据并发送一条消息。所以我试图在另一个函数的“success”上使用javascript执行此页面。问题是我尝试过的所有东西似乎都没有执行那个页面,而我执行该页面时唯一的成功就是使用弹出的窗口,这是不可取的。

这是弹出代码(不需要的):

function sendMsg(){
    var wnd = window.open("http://localhost/url");
    if(wnd){
            setTimeout(function () { wnd.close();}, 4000);
    }
}
sendMsg();

这些是我尝试但没有执行url的代码:

$.get("http://localhost/url")

而这一个来自另一个答案在这里SO。

var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange=function() {
  if (xmlhttp.readyState==4 && xmlhttp.status==200) {
    var response = xmlhttp.responseText; returned value
  }
}

xmlhttp.open("GET","http://localhost/url",true);
xmlhttp.send();

如何在不以任何方式在浏览器上打开此URL的情况下执行此URL?为了清楚起见,我知道其他两个代码不起作用,因为我会收到一条消息。

答案

我相信jQuery的load()方法可能对此有用。例如,在html中使用div并将其设置为隐藏在CSS中。

jQuery load() Method

HTML:

<div id='myHiddenPage'></div>

CSS:

#myHiddenPage { 
    display: none;
} 

jQuery的:

$(funtion() {
    $('#myHiddenPage').load('www.myurl.com');
});
另一答案

如果你真的需要来自get的返回数据/页面

你应该做这样的事情。

$.get( "url", function( data ) {
  console.log(data); // return data/page
  alert( "Done load." );
});

@使用ajax

$.ajax({
  url: "url",
  type: "GET",
  success   : function( data ){
    console.log(data); // return data/page
    alert("Done LOad");
  }
});

其他任何东西都可以参考:https://api.jquery.com/jquery.get/

以上是关于在Javascript / Jquery中不在浏览器上打开它来执行URL的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Javascript/JQuery 在移动浏览器中限制点运算符('.')

使用 Javascript/Jquery 在桌面 Web 浏览器中禁用页面缩放 [重复]

网页中,鼠标点击与javascript的click事件怎么区分

Flash不在我的应用程序内的浏览器中与Javascripts交互

使用 JavaScript / JQuery 将 html 表数据导出到 Excel 在 Chrome 浏览器中无法正常工作

解决在IE11浏览器下,JQuery的AJAX方法不响应问题