js onclick 无效

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js onclick 无效相关的知识,希望对你有一定的参考价值。

<div class="windows" id="windows" style="display: block">
<div class="centent">
<div class="close" onclick="close();"></div>

</div>
</div>

<script type="text/javascript">
function close()
var E_id = document.getElementById("windows");
E_id.style.display='none';

</script >

为什么不能执行JS close(); 浏览运行可以的 点了没用

<!--close()是js内部函数,自定义函数不能与js内部函数重名-->
<div class="windows"  id="windows" style="display: block">
<div class="centent">
<div class="close" onclick="diy_close();">点击消失</div>
内容:hello word
</div>
</div>

<script type="text/javascript">
function diy_close()
var E_id = document.getElementById("windows");
E_id.style.display='none';

</script >

参考技术A <div class="close" onclick="close();"></div>

把onclick="close();" 改成 onclick="close2();" 肯定行
参考技术B 把js代码放在div的上面,最好放在head标签里

Vue js POST 失败 onclick 登录“预检响应具有无效的 HTTP 状态代码 404”

【中文标题】Vue js POST 失败 onclick 登录“预检响应具有无效的 HTTP 状态代码 404”【英文标题】:Vue js POST fails onclick login "Response for preflight has invalid HTTP status code 404" 【发布时间】:2017-05-06 10:19:34 【问题描述】:

我正在为 Vue 应用程序构建一个 RESTfull API,我在验证用户时遇到问题,我收到以下错误

XMLHttpRequest 无法加载 http://localhost:8000/oauth/token/。预检响应包含无效的 HTTP 状态代码 404

我的 Vue 代码

<script>
export default 
  data () 
    return 
      email: '',
      password: '',
      error: ''
    
  ,
  methods: 
    login () 
      var data = 
        client_id: 2,
        client_secret: 'GWSpaP77kEIFXSG2XklctCc7AXAoWcEq4tPQbneF',
        grant_type: 'password',
        username: this.email,
        password: this.password
      
      this.$http.post('http://localhost:8000/oauth/token/', data).then((response) => 
        console.log(response)
      , (response) => 
        this.error = 'No response'
      )
/*      this.$http.get('http://localhost:8000/api/test').then((response) => 
        console.log(response)
      , (response) => 
        this.error = 'No response'
      ) */
    
  

</script>

而 Laravel 中的 Route:list 是

+--------+----------+---------------------------------------------+------+---------------------------------------------------------------------------+---------------+
| Domain | Method   | URI                                         | Name | Action                                                                    | Middleware    |
+--------+----------+---------------------------------------------+------+---------------------------------------------------------------------------+---------------+
|        | GET|HEAD | /                                           |      | Closure                                                                   | web           |
|        | GET|HEAD | api/oauth/authorize                         |      | Laravel\Passport\Http\Controllers\AuthorizationController@authorize       | cors,web,auth |
|        | DELETE   | api/oauth/authorize                         |      | Laravel\Passport\Http\Controllers\DenyAuthorizationController@deny        | cors,web,auth |
|        | POST     | api/oauth/authorize                         |      | Laravel\Passport\Http\Controllers\ApproveAuthorizationController@approve  | cors,web,auth |
|        | GET|HEAD | api/oauth/clients                           |      | Laravel\Passport\Http\Controllers\ClientController@forUser                | cors,web,auth |
|        | POST     | api/oauth/clients                           |      | Laravel\Passport\Http\Controllers\ClientController@store                  | cors,web,auth |
|        | DELETE   | api/oauth/clients/client_id               |      | Laravel\Passport\Http\Controllers\ClientController@destroy                | cors,web,auth |
|        | PUT      | api/oauth/clients/client_id               |      | Laravel\Passport\Http\Controllers\ClientController@update                 | cors,web,auth |
|        | POST     | api/oauth/personal-access-tokens            |      | Laravel\Passport\Http\Controllers\PersonalAccessTokenController@store     | cors,web,auth |
|        | GET|HEAD | api/oauth/personal-access-tokens            |      | Laravel\Passport\Http\Controllers\PersonalAccessTokenController@forUser   | cors,web,auth |
|        | DELETE   | api/oauth/personal-access-tokens/token_id |      | Laravel\Passport\Http\Controllers\PersonalAccessTokenController@destroy   | cors,web,auth |
|        | GET|HEAD | api/oauth/scopes                            |      | Laravel\Passport\Http\Controllers\ScopeController@all                     | cors,web,auth |
|        | POST     | api/oauth/token                             |      | Laravel\Passport\Http\Controllers\AccessTokenController@issueToken        | cors,throttle |
|        | POST     | api/oauth/token/refresh                     |      | Laravel\Passport\Http\Controllers\TransientTokenController@refresh        | cors,web,auth |
|        | GET|HEAD | api/oauth/tokens                            |      | Laravel\Passport\Http\Controllers\AuthorizedAccessTokenController@forUser | cors,web,auth |
|        | DELETE   | api/oauth/tokens/token_id                 |      | Laravel\Passport\Http\Controllers\AuthorizedAccessTokenController@destroy | cors,web,auth |
|        | GET|HEAD | api/test                                    |      | Closure                                                                   | api           |
|        | GET|HEAD | api/user                                    |      | Closure                                                                   | api,auth:api  |
+--------+----------+---------------------------------------------+------+---------------------------------------------------------------------------+---------------+

我尝试了很多方法都没有解决这个问题。

【问题讨论】:

【参考方案1】:

您在 vue 中的网址是: this.$http.post('http://localhost:8000/oauth/token/...

但是您的路线以 /api 为前缀:

this.$http.post('http://localhost:8000/api/oauth/token/...

【讨论】:

我确实尝试过,我得到了一个 cors 错误“XMLHttpRequest 无法加载 localhost:8000/api/oauth/token。请求的资源上没有 'Access-Control-Allow-Origin' 标头。来源 'localhost:8080 ' 因此不允许访问。” 如果后端使用不同的域,则必须启用 CORS:github.com/barryvdh/laravel-cors。如果您使用相同的域,则没有必要,例如localhost 用于两者,或者local.dev 等。 我使用 github.com/barryvdh/laravel-cors 作为 cors 并且还在 Kernal.php 中定义了它 你在 cors 中使用'allowedOrigins' =&gt; ['*'], 吗? 从 vue 获取请求工作正常,但只有发布 oauth/token 给我错误

以上是关于js onclick 无效的主要内容,如果未能解决你的问题,请参考以下文章

简单的a标签onclick,为啥无效呢?求解。。。。

JS (javascript)中getID后,onclick触发事件无效

JS问题。为啥onclick事件单击一次后,在页面无刷新的情况下,单击第二次无效?

java onclick事件

onclick 事件与对象

JSP页面onclick事件失效