得到错误“没有方法'包含'”

时间:2014-02-13 11:57:13

标签: javascript

我正在尝试使用以下代码段:

console.log(config.url);
if (config.method === 'GET' && config.url.contains("/Retrieve")) {

输出:

/Content/app/home/partials/menu.html app.js:255
TypeError: Object /Content/app/home/partials/menu.html has no method 'contains'
    at request (http://127.0.0.1:81/Content/app/app.js:256:59)

然而,这给了我和“.contains”这个词的错误。任何人都知道我为什么收到这条消息?

has no method 'contains'

有没有人知道为什么我会收到这条消息?

3 个答案:

答案 0 :(得分:8)

因为在JavaScript中,字符串没有contains方法。您可以使用indexOf

if (config.method === 'GET' && config.url.indexOf("/Retrieve") !== -1) {

请注意,这是区分大小写的。要做到这一点而不必担心大写,您可以使用toLowerCase()

if (config.method === 'GET' && config.url.toLowerCase().indexOf("/retrieve") !== -1) {

...或带有i标记的正则表达式(case- I nsensitive):

if (config.method === 'GET' && config.url.match(/\/Retrieve/i)) {

答案 1 :(得分:1)

问题是contains是一个jQuery函数,所以你只能在jQuery对象上应用它。

如果你想使用纯javascript,你必须使用indexOf函数

答案 2 :(得分:1)

contains()不是本机JavaScript方法;它虽然被jQuery等JS库使用。

如果您只是使用纯JavaScript,那么您可以使用indexOf()等方法。