我在这里有这个代码:
var infiltrationResult; while(thisOption) { var trNode = document.createElement('tr'); var tdNode = document.createElement('td'); var hrefNode = document.createElement('a'); infPlanetID = thisOption.getAttribute('value'); var myURL = "http://www.hyperiums.com/servlet/Planetinf?securitylevel=90&newinfiltr=New+infiltration&planetid=" + PlanetID + "&infplanetid=" + infPlanetID; GM_xmlhttpRequest({ method: 'GET', url: myURL, headers: { 'User-agent': 'Mozilla/4.0 (compatible) Greasemonkey', 'Accept': 'application/atom+xml,application/xml,text/xml', }, onload: function(responseDetails) { if (responseDetails.responseText.match(/Invalid order<\/td><\/tr>The target planet is blocking all infiltrations[\s\S]
/im)) { // Successful match infiltrationResult = 'Invalid Order'; } else { // Match attempt failed infiltrationResult = 'Infiltration Successfully Created'; } } });当我添加
警报(infiltrationResult);
在分配之后,我正确地看到了字符串.
但是,在函数退出后,我尝试了相同的警报,我得到:
undefined我有什么想法我做错了吗?
1> Rob Kennedy..:请求以异步方式运行.这就是该函数首先采用
onload
回调函数的原因.如果它是同步的,那么GM_xmlhttpRequest
只需像普通函数一样返回响应细节.在等待请求返回时,调用后的代码
GM_xmlhttpRequest
继续运行.您的脚本正确识别infiltrationResult
未定义的脚本,因为请求尚未完成.如果您需要做的不仅仅是在请求返回时分配变量,那么在
onload
回调中执行此操作.推荐阅读
如何解决《std::move或std::forward,参数为std::unique_ptr<T>&&》经验,为你挑选了1个好方法。 ... [详细] 如何解决《铸造到'void'真的有什么作用?》经验,为你挑选了2个好方法。 ... [详细] 如何解决《Retrofit2RxJava-Gson-"全局"反序列化,更改响应类型》经验,为你挑选了1个好方法。 ... [详细] 如何解决《请求匹配多个操作,导致ASP.NET5/MVC6中具有不同参数的操作不明确》经验,为你挑选了0个好方法。 ... [详细] 如何解决《RgoogleVisBubbleChart,设置大小而不设置颜色》经验,为你挑选了0个好方法。 ... [详细] 如何解决《无法提交AppIOS》经验,为你挑选了1个好方法。 ... [详细] 如何解决《在摘要中显示EditTextPreference的值》经验,为你挑选了2个好方法。 ... [详细] 如何解决《CSSword换行第二行文字》经验,为你挑选了0个好方法。 ... [详细] 如何解决《使用MIBadgeButton-Swift为UIButtonitem添加徽章》经验,为你挑选了1个好方法。 ... [详细] 如何解决《在按复合类名称搜索时,BeautifulSoup返回空列表》经验,为你挑选了0个好方法。 ... [详细] 如何解决《量角器:'wait'不适用于"element.all"》经验,为你挑选了1个好方法。 ... [详细] 如何解决《Rails将静态图像URL上传到s3》经验,为你挑选了1个好方法。 ... [详细] 如何解决《TensorFlow中的基本神经网络》经验,为你挑选了1个好方法。 ... [详细] 如何解决《WebLogic客户端jar》经验,为你挑选了1个好方法。 ... [详细] 如何解决《设置背景颜色,并在Android中使用drawable作为背景》经验,为你挑选了1个好方法。 ... [详细] 如何解决《Cprint-nan中的sqrt函数》经验,为你挑选了1个好方法。 ... [详细] 如何解决《如何使用alertify.js更改alertify.error中的字体颜色》经验,为你挑选了1个好方法。 ... [详细] 如何解决《如何在Typescript中实现JS函数指针》经验,为你挑选了1个好方法。 ... [详细] 吐了个 "CAO" !Tags | 热门标签RankList | 热门文章
- 1我可以有条件地改变我正在呼叫的功能吗?
- 2Python请求包返回与浏览器不同的HTTP状态
- 3按钮无法显示移动菜单
- 4如何格式化角度材质datepicker的ng-model字符串
- 5为什么我在Unity 5.3中的对象类中使用setter和getter时返回空的JSON字符串?
- 6我怎样才能回到树枝的上一页?
- 7如何在乳胶中连续编号定理,定义等等而不为每个开始自己的行?
- 8`和$(在Bash中有什么区别?
- 9如何在不知道C++长度的情况下从文件中读取二维数组?
- 10如何从Events API获取email_ids(不是G + id)
- 11禁用在页面上向后滚动
- 12聪明的尖destructor电话传染媒介
- 13Javascript中的Flash / blink选项卡效果
- 14Linux内核编程:函数'vmalloc'的隐式声明
- 15如何使用XCUIElementsQuery测试UIView的存在?
- 16交叉点两个选择
- 17如何向API蓝图添加图像/图表?
- 18获取django中的多个维度的最新条目
- 19在结构中初始化结构?
- 20类型"{}"上不存在属性
DevBox开发工具箱 | 专业的在线开发工具网站 京公网安备 11010802040832号 | 京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有