Mootools JSON request returning not found error

62 Views Asked by At

I added an icon next to a file that, when clicked, will mark the file as a redline and change the color of the text of the filename. My boss wants me to do this via AJAX, but I've never done AJAX before.

I copied some other code and modified it, but I keep getting an error and I'm not sure why.

This is the code:

echo '<img src="' . site_url('img/red-flag.png') . '" height="15px" title="Mark as redline" onclick="markAsRedline(' . $attachment['id'] . ');">';

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/mootools/1.4.5/mootools-yui-compressed.js"></script>
<script type="text/javascript">
    function markAsRedline(attachmentid) {
        new Request.JSON({
            url: '<?php echo site_url('MAttachment/markAsRedline'); ?>/' + attachmentid,
            onSuccess:
                alert('Success')
        }).send();
    }
</script>

What the PHP function (MAttachment/markAsRedline) does is mark a field in a table as 1. When the page loads, if the field is 1, the text will display in a different color.

The error I'm getting after I see the alert is:

POST http://localhost/###/MAttachment/markAsRedline/1744578 404 (Not Found)

The text is not changing color either. I have no clue what is going wrong. Any help would be very much appreciated.

2

There are 2 best solutions below

0
PortyR On BEST ANSWER

I found out that I can't call a function in a model function (MAttachment), I have to create a controller function to call the model function and then call the controller function. I did that and it all works.

0
unilynx On

404 'Not Found' is coming from your webserver, not Mootools.

Doublecheck the URL and if you're sure its okay, look in your webserver's error log why it can't find the file.